FeaturesPluginsDocs & SupportCommunityPartners

NetBeans プラグインクイックスタート

NetBeans プラグイン開発へようこそ

このチュートリアルでは、新しい NetBeans IDE のツールバーの作成を通して、NetBeans プラグイン開発のワークフローを簡潔に紹介します。このチュートリアルを終了すれば、NetBeans IDE のプラグインを作成、構築、およびインストールする方法に関する全般的な知識が身に付きます。

このチュートリアルを終了したら、NetBeans プラットフォームの学習のチュートリアルに進むことができます。学習の各チュートリアルは、さまざまな種類のアプリケーションに利用できる NetBeans API を幅広く網羅しています。このチュートリアルを省略し、「Hello World」アプリケーションを作成しないで学習のチュートリアルに進んでもかまいません。

目次

このページの内容は NetBeans IDE 6.1 が対象です

このチュートリアルを行うには、次の表に示すソフトウェアおよびリソースが必要です。

ソフトウェアまたはリソース 必須バージョン
NetBeans IDE version 6.1 または
version 6.0
Java Developer Kit (JDK) version 6 または
version 5

トラブルシューティングのために、完了したサンプルをダウンロードしてソースを調べることもできます (任意)。

このチュートリアルで作成するツールバーは、次のようになります。

サンプルの検索文字列を表示した Google ツールバー

ユーザーが上のツールバーで Enter キーを押すと、IDE のデフォルトブラウザが開き、ツールバーのテキストが Google 検索に送られ、開いているブラウザに結果が表示されます。このツールバーを作成するには、NetBeans API を使用して IDE の機能セットを拡張します。具体的には、ツールバーのボタンによって呼び出されるアクションを作成します。次に、GUI コンポーネントとして JLabel および JTextField を含む、Swing JPanel を作成します。最後に、JPanel を返すように、アクションの getToolbarPresenter() メソッドをオーバーライドすると、ボタンの代わりにそれがツールバーに表示されます。

モジュールプロジェクトの設定

モジュールの開発時には、プロジェクトの構成が正しく設定されていることを確認する必要があります。NetBeans IDE には、モジュールに必要なすべての基本ファイルを設定するための「モジュールプロジェクト」ウィザードが用意されています。

  1. 「ファイル」>「新規プロジェクト」(Ctrl-Shift-N) を選択します。「カテゴリ」で「NetBeans モジュール」を選択します。「プロジェクト」で「モジュール」を選択します。「次へ」をクリックします。
  2. 「名前と場所」パネルで、「プロジェクト名」フィールドに「GoogleToolbar」と入力します。「プロジェクトの場所」を使用コンピュータ上の任意のフォルダに変更します。「スタンドアロンモジュール」オプションはそのままにし、「主プロジェクトとして設定」チェックボックスを選択します。「次へ」をクリックします。
  3. 「基本モジュール構成」パネルで、「コード名ベース」の yourorghere myorg に置き換え、コード名ベースを org.myorg.myfirstmodule にします。
  4. ローカライズ版バンドルと XML レイヤーファイル両方の場所を指定します。これらは、org/myorg/googletoolbar という名前のパッケージに格納されます。たとえば、「XML レイヤー」フィールドに「org/myorg/googletoolbar/layer.xml」を設定します。「完了」をクリックします。

IDE が GoogleToolbar プロジェクトを作成します。このプロジェクトには、ソースや、プロジェクトの Ant 構築スクリプトなどのプロジェクトメタデータがすべて含まれます。IDE でプロジェクトが開きます。「プロジェクト」ウィンドウ (Ctrl-1) で、プロジェクトの論理構造を表示できます。また、「ファイル」ウィンドウ (Ctrl-2) で、プロジェクトのファイル構造を表示できます。

モジュールのコーディング

モジュールをコーディングするには、次の手順を完了する必要があります。

アクションの作成

  1. プロジェクトノードを右クリックし、「新規」>「アクション」を選択します。「アクション」が表示されない場合は、「その他」を選択し、「新規ファイル」ウィザードの「カテゴリ」で「NetBeans モジュールの開発」を選択します。「次へ」をクリックします。
  2. 「アクションの種類」パネルはデフォルト設定のままにします。IDE は、次に示すような CallableSystemAction のサブクラスのアクションを作成します。

    新規アクションウィザードの手順 1

    「次へ」をクリックします。
  3. 「GUI の登録」パネルで、「カテゴリ」ドロップダウンリストから「編集」を選択します。「カテゴリ」ドロップダウンリストは、IDE のキーボードショートカットエディタでアクションが表示される場所を制御します。次に、「大域メニュー項目」を選択解除し、「大域ツールバーボタン」を選択します。次に示すように、「ツールバー」ドロップダウンリストで「編集」を選択し、「位置」ドロップダウンリストで「検索...ここに置く」を選択します。

    新規アクションウィザードのステップ 2

    「次へ」をクリックします。
  4. 「名前と場所」パネルで、「クラス名」に「GoogleAction」と入力し、「表示名」に「Google Action」と入力します。16x16 ピクセル寸法のアイコンを参照します。実際は、アイコンは使用せず、その代わりに次の節で作成する JPanel フォームを表示します。ただし、「新規アクション」ウィザードではアイコンの指定を求められます。実際に使用しないので、どの寸法のアイコンでもかまいません。「完了」をクリックします。

    注: 「プロジェクト」ウィンドウの org.myorg.googletoolbar パッケージに GoogleAction.java が追加されます。

JPanel の作成

  1. プロジェクトノードを右クリックし、「新規」>「その他」を選択します。「カテゴリ」で「Java GUI フォーム」を選択します。「プロジェクト」で「JPanel フォーム」を選択します。「次へ」をクリックします。
  2. 「名前と場所」パネルで、「クラス名」に「GooglePanel」と入力し、ドロップダウンリストからパッケージを選択します。「完了」をクリックします。GooglePanel.java がパッケージに追加され、ソースエディタの「デザイン」ビューで開きます。
  3. JPanel の右下隅にカーソルを置き、JPanel を選択してカーソルをドラッグし、次に示すように、サイズをツールバーの幅と長さに合うように変更します。

    JPanel のサイズ変更
  4. パレット (Ctrl-Shift-8) から、JTextField 項目と JLabel 項目を JPanel に直接ドラッグします。次に、JPanel とほかの 2 つの項目をサイズ変更し、それらがぴったり合うようにします。最後に、JLabel をクリックしてテキストを Google: に変更し、JTextField のデフォルトの文字列を削除します。これで、JPanel は次に示す図のようになっているはずです。

    JPanel に含まれる JTextField と JLabel
  5. プロパティーのインスペクタが開いていることを確認します (「ウィンドウ」>「ナビゲート」>「インスペクタ」)。次に、JTextField を右クリックし、「イベント」>「Key」>「keyTyped」を選択します。これによって、次に示すように、ソースエディタに表示される GooglePanel.java ソースコードに jTextField1KeyTyped() メソッドが生成されます。

    ソースコードに生成された JTextField1KeyTyped() メソッド
  6. ソースエディタの GooglePanel.java の「ソース」表示で、jTextField1KeyTyped() メソッドに、次のように入力 (太字で表示されたテキストを挿入) します。
        
    private void jTextField1KeyTyped(java.awt.event.KeyEvent evt) {
        int i = evt.getKeyChar();
        if (i==10){//ENTER キー
            // Google URL を表示
            try{
                URLDisplayer.getDefault().showURL
                        (new URL("http://www.google.com/search?hl=en&q="+jTextField1.getText()+"&btnG=Google+Search"));
            } catch (Exception eee){
                return;//何もしない
            }
        }
    }

必要がある場合は、ソースエディタを右クリックし、「整形」(Alt-Shift-F) を選択します。

エラーの解決

赤いアンダーラインの付いた数行のコードは、エラーがあることを示します。これは、必要なパッケージがまだインポートされていないためです。URLDisplayer の赤いラインのすぐ左の列に表示された電球アイコンの上に、カーソルを置きます。エラーの理由を示すツールチップが表示されます。

ソースエディタの URLDisplayer エラーのツールチップ

これを解決するためには、プロジェクトにアクセス可能な org.openide.awt パッケージに含まれている HtmlBrowser.URLDisplayer クラスを作成する必要があります。これを行うには、次の手順に従います。

  1. 「プロジェクト」ウィンドウでプロジェクトのノードを右クリックし、「プロパティー」を選択します。表示される「プロジェクトプロパティー」ダイアログで、「カテゴリ」見出しの下の「ライブラリ」を選択します。「モジュールの依存関係」の下の、「追加」ボタンをクリックします。「モジュールの依存関係を追加」ダイアログが表示されます。
  2. 「モジュールの依存関係を追加」ダイアログの最上部に表示された「フィルタ」テキストボックスに URLDisplayer と入力すると、返されるモジュールの選択肢が絞られ、UI ユーティリティー API のみが表示されます。

    「UI ユーティリテー API」を表示した「モジュールの依存関係を追加」ダイアログ

    「了解」をクリックします。再度「了解」をクリックして「プロジェクトプロパティー」ダイアログを終了します。
  3. 「ソースエディタ」を右クリックし、「インポートを修正」(Alt-Shift-F) を選択します。「すべてのインポートを修正」ダイアログが表示され、未知のクラスに対する候補のパスが一覧表示されます。

    未知のクラスに対する候補のパスを含む「すべてのインポートを修正」ダイアログ

    「了解」をクリックします。IDE によって GooglePanel.java に次のインポート文が作成されます。
    import java.net.URL;
    import org.openide.awt.HtmlBrowser.URLDisplayer;               
                
    また、ソースエディタからすべてのエラーがなくなります。

getToolbarPresenter() のオーバーライド

作成した JPanel は、Google ツールバーを表示する実際のコンポーネントであるため、アクションクラスの getToolbarPresenter() メソッドをオーバーライドする必要があります。GoogleAction.java で、次のことを行います。

  1. クラス宣言下で、次の変数を宣言して設定します。
    GooglePanel retValue = new GooglePanel();
                
  2. getToolbarPresenter() メソッドが retValue 変数を返すように定義します。
    public java.awt.Component getToolbarPresenter() {
        return retValue;
    }
                

モジュールのコンパイル、インストール、および使用

NetBeans IDE では、Ant 構築スクリプトを使用して、IDE でモジュールをコンパイル、およびインストールします。構築スクリプトは、前述のモジュールプロジェクトの設定でのモジュールプロジェクトの作成時に作成されます。これで、モジュールのコンパイルおよび IDE への追加の準備ができました。NetBeans IDE の Ant のサポートを使用して、実行できます。

  1. 「プロジェクト」ウィンドウで GoogleToolbar プロジェクトのノードを右クリックし、「ターゲットプラットフォームでのインストール/再読み込み」を選択します。モジュールが構築され、IDE の新しいインスタンス (つまり、ターゲットプラットフォーム) にインストールされます。デフォルトでは、デフォルトターゲットプラットフォームは、現在使用している IDE のバージョンです。ターゲットプラットフォームが開き、新規モジュールを試すことができます。
  2. インストールが正しく行われると、モジュールによって IDE の「編集」ツールバーに新しいボタンが追加されます。

    注: ツールバーボタンにはアイコンが表示されません。代わりに、前述の JPanel の作成で作成した JPanel が表示されます。

    IDE のツールバーに埋め込まれた Google ツールバー

  3. テキストフィールドに検索文字列を入力します。

    サンプルの検索文字列を表示した Google ツールバー
  4. Enter キーを押します。IDE のデフォルトブラウザが起動します。Google URL と検索文字列がブラウザに送信され、検索が実行されます。検索結果が返されると、その結果をブラウザで見ることができます。

モジュールの共有

これで IDE を拡張する作業モジュールが構築できました。これをほかの開発者と共有してみましょう。NetBeans IDE には、バイナリ NetBeans Module ファイル (.nbm) を作成するための簡単な方法があります。これは、IDE の独自のバージョンでの実験を他者に許可する汎用的な手段で、具体的には、前述のサンプルのインストールで行なったことです。モジュールバイナリを作成するには、次の手順に従います。

「プロジェクト」ウィンドウで GoogleToolbar プロジェクトのノードを右クリックし、「NBM を作成」を選択します。新規 NBM ファイルが作成され、「ファイル」ウィンドウ (Ctrl-2) で確認できます。

「ファイル」ウィンドウに表示された新規 NBM ファイル

関連項目

これで NetBeans プラグインクイックスタートを終了します。このドキュメントでは、IDE に Google 検索ツールバーを追加するプラグインの作成方法について説明しました。プラグインの作成と開発の詳細については、次のリソースを参照してください。



Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by