FeaturesPluginsDocs & SupportCommunityPartners

NetBeans IDE モジュール開発入門

このドキュメントでは、NetBeans IDE を使用して NetBeans のプラグインモジュールを開発する基本的な手順を学ぶことができます。 NetBeans のプラグインモジュールの開発は、次のいずれかの目的で行ないます。

  • NetBeans IDE を拡張する。新しい機能を追加して、IDE の機能を簡単に拡張できます。 たとえば、特定の最先端技術を NetBeans IDE で使用できるようにするプラグインモジュールを作成できます。 IDE 5.x の新機能については、NetBeans IDE 5.x リリースのページ (英語) を参照してください。

  • NetBeans プラットフォーム上にアプリケーションを構築する。NetBeans のコアをプラットフォームとして、その上にリッチクライアントアプリケーションを開発できます。 プラットフォームの機能を再利用することで、開発に要する時間を節約できます。 詳細は、NetBeans Platform のホームページを参照してください。

このクイックスタートガイドでは、主に前述の 1 つめの目的について説明しますが、2 つめの目的にあてはまる部分もあります。 ただし、NetBeans Platform 上にアプリケーションを開発する方法を知りたい場合は、NetBeans IDE 5.0 リッチクライアントアプリケーション開発入門のチュートリアルの方が適しています。

このチュートリアルは、できるだけ短時間で作業に取り組めるように作られています。 作業内容として、簡単な NetBeans のプラグインモジュールを作成してインストールします。 プラグインモジュールでは、新しいメニュー項目とツールバーボタンを IDE に追加します。 メニュー項目またはツールバーボタンを選択すると、NetBeans API によって提供される DialogDisplayer に「I'm plugged in!」というメッセージが表示されます。

このチュートリアルは、次の節から構成されます。

このチュートリアルに要する時間は 20 分ほどです。

NetBeans のプラグインモジュールの詳細については、NetBeans の Web サイトにある NetBeans 開発プロジェクトのホームページを参照してください。 質問がある場合は、NetBeans 開発者の FAQ を参照するか、このページの最上部にある「フィードバック」リンクを使用してください。


プラグインモジュールプロジェクトの設定

プラグインモジュールの作成を開始するには、必要なすべてのソフトウェアを用意し、プロジェクトを正しく設定しておく必要があります。 NetBeans には、プラグインモジュールに必要なすべての基本ファイルを設定するウィザードが用意されています。

ソフトウェアのインストール

開始する前に、コンピュータに次のソフトウェアをインストールしておく必要があります。

NetBeans のプラグインモジュールプロジェクトの作成

  1. 「ファイル」>「新規プロジェクト」を選択します。 「カテゴリ」で「NetBeans プラグインモジュール」を選択します。

    NetBeans のプラグインモジュールには、次の 3 種類のプロジェクトを使用できます。

    • モジュールプロジェクト。スタンドアロンのプラグインモジュールのテンプレートを作成します。
    • ライブラリラッパーモジュールプロジェクト。1 つまたは複数のプラグインモジュールに必要な外部 JAR ファイルのプラグインモジュールを作成します。
    • モジュールスイートプロジェクト。同時に配備する、相互に依存する一連のプラグインモジュールとライブラリラッパーモジュールのテンプレートを作成します。

  2. 「モジュールプロジェクト」を選択します。 「次へ」をクリックします。
  3. 「名前と場所」パネルの「プロジェクト名」に「MyFirstModule」と入力します。 「プロジェクトの場所」をコンピュータ上の任意のディレクトリに変更します (c:\mymodules など)。 「スタンドアロンモジュール」ラジオボタンと「主プロジェクトとして設定」チェックボックスが選択されていることを確認します。 「次へ」をクリックします。

  4. 「基本モジュール構成」パネルで、「コード名ベース」の yourorgheremyorg に置き換え、コード名ベースを org.myorg.myfirstmodule にします。 ローカライズのバンドルと XML レイヤーは org.myorg.myfirstmodule パッケージに格納されます。 これらのファイルには、次の役割があります。

    • ローカライズのバンドル。国際化のための言語固有の文字列を指定します。
    • XML レイヤー。NetBeans System ファイルシステムにメニューやツールバーボタンなどの項目を登録します。

    「完了」をクリックします。 IDE によって MyFirstModule プロジェクトが作成されます。 このプロジェクトには、ソースや、プロジェクトの Ant 構築スクリプトなどのプロジェクトメタデータがすべて含まれます。 IDE でプロジェクトが開きます。 「プロジェクト」ウィンドウ (Ctrl-1) でプロジェクトの論理構造を、「ファイル」ウィンドウ (Ctrl-2) でそのファイル構造を見ることができます。

    最初の「プロジェクト」ウィンドウ

    プロジェクトには、ローカライズのバンドルと XML レイヤーに加えて、次の重要なファイルも含まれます。

    • モジュールのマニフェスト。プロジェクトがプラグインモジュールであることを宣言します。 また、XML レイヤーの場所、ローカライズのバンドルの場所、およびモジュールのバージョンなど、モジュール固有の情報も設定します。

    • 構築スクリプト。 nbproject/build-impl.xml 内の指定よりも優先される、独自の Ant ターゲットをここに作成できます。

    • プロジェクトメタデータ。プロジェクトの種類、内容、プラットフォーム、クラスパス、依存関係、プロジェクトのコマンドと Ant スクリプト内のターゲットのマッピングなどの情報が含まれます。

    • NetBeans プラットフォーム設定。IDE またはプラットフォームによって使用されるプロパティーが含まれます。

    • ユーザー別 NetBeans プラットフォーム設定。IDE の各インストールに固有のプロパティーが含まれます。 たとえば、VCS でプロジェクトを共有している場合、このファイルで設定するプロパティーはリポジトリにチェックインされません。 このため、NetBeans プラットフォーム設定からこのファイルにプロパティーをコピーし、各ファイル内で別の値を定義することができます。 このファイル内の定義は、NetBeans プラットフォーム設定内の定義に優先します。

    このチュートリアルでは、これらのファイルを変更する必要はありません。 上記のファイルは、「ファイル」ウィンドウの manifest.mfbuild.xmlnbproject/project.xmlnbproject/platform.properties、および nbproject/private/platform-private.properties にそれぞれ対応します。


メニュー項目とツールバーボタンの作成

モジュールの機能の基礎を作成するには、NetBeans のプラグインモジュールのファイルテンプレートを使用します。 ファイルテンプレートを使用すると、作成した項目が IDE によって layer.xml ファイルに登録されます。 ウィザードを使用してファイルテンプレートを作成したら、NetBeans の API 一覧を参考にしてモジュールの開発を続けます。

「アクション」ウィザードの使用

  1. 「プロジェクト」ウィンドウでプロジェクトノードを右クリックし、「新規」>「ファイル/フォルダ」を選択します。 「新規ファイル」ウィザードで、「カテゴリ」から「NetBeans モジュール開発」、「ファイルの種類」から「アクション」を選択します。 「次へ」をクリックします。
  2. 「アクションの種類」パネルで、デフォルト値をそのまま使用します。 「次へ」をクリックします。

  3. 「GUI の登録」パネルで、「大域メニュー項目」を選択し、「大域ツールバーボタン」を選択します。 次の値を設定します。

    • カテゴリ: ツール
    • メニュー: ツール
    • 位置: ツール - ここに置く - <セパレータ>
    • ツールバー: 構築
    • 位置: 主プロジェクトを実行 - ここに置く - 主プロジェクトをデバッグ

    「大域メニュー項目」セクションで、「セパレータを前に」と「セパレータを後に」を選択します。

    画面は次のようになります。

    「GUI の登録」パネル

    「GUI の登録」パネルには、次のセクションがあります。

    • カテゴリ。「オプション」ウィンドウの「キーマップ」セクションでのアクションの場所を指定します。

    • 大域メニュー項目。アクションをメニュー項目として登録するメニューを指定します。 既存のメニュー項目の中での新しいメニュー項目の位置もここで設定できます。

    • 大域ツールバーボタン。アクションをボタンとして登録するツールバーを指定します。 既存のツールバーボタンの中での新しいボタンの位置もここで設定できます。

    • 大域キーボードショートカット。アクションを呼び出すキーストロークを指定します。

    • ファイルの種類のコンテキストメニュー項目。メニュー項目が表示されるファイルの種類の MIME タイプを指定します。 既存のメニュー項目とセパレータの中での新しいメニュー項目の位置もここで設定できます。 このフィールドを使用する詳細なシナリオについては、NetBeans DataLoader Module Tutorial を参照してください。

    • エディタのコンテキストメニュー項目。?メニュー項目が表示されるエディタの MIME タイプを指定します。 既存のメニュー項目とセパレータの中での新しいメニュー項目の位置もここで設定できます。 このフィールドを使用する詳細なシナリオについては、NetBeans Editor Extension Module Tutorial を参照してください。

    「次へ」をクリックします。

  4. 「名前、アイコン、および場所」の各パネルで、「クラス名」に「MyFirstAction」と入力し、「表示名」に「My First Action」と入力します。 「アイコン」パネルで、ファイルシステム内の 16x16 ピクセルのアイコンを参照します。 たとえば、NetBeans IDE 5.x のインストールディレクトリ内の次の場所に 16x16 ピクセルのアイコンがあります。

       enterprise2\jakarta-tomcat-5.5.9\server\webapps\admin\images

  5. 「完了」をクリックします。

    MyFirstAction.javaorg.myorg.myfirstmodule 内に作成され、ソースエディタで開きます。 次のソースが表示されます (リンクをクリックすると、関連する NetBeans API Javadoc が表示される)。

       package org.myorg.myfirstmodule;
    
       import org.openide.util.HelpCtx;
       import org.openide.util.actions.CallableSystemAction;
    
       public final class MyFirstAction extends CallableSystemAction {
    
           public void performAction() {
       	// TODO implement action body
           }
    
           public String getName() {
           	return "My First Action";
           }
        
           protected String iconResource() {
            return "org/myorg/myfirstmodule/Groups_ja.gif";
           }
        
           public HelpCtx getHelpCtx() {
            return HelpCtx.DEFAULT_HELP;
           }
    
           protected boolean asynchronous() {
            return false;
           }
       }

    「GUI の登録」パネルで指定したように、アクションのクラスが IDE によってメニュー項目およびツールバーボタンとして layer.xml ファイルに登録されます。

    <filesystem>
    
        <folder name="Actions">
            <folder name="Tools">
                <file name="org-myorg-myfirstmodule-MyFirstAction.instance">
    		<attr name="instanceClass" 
    		  stringvalue="org.myorg.myfirstmodule.MyFirstAction"/>
                </file>
            </folder>
        </folder>
    
        <folder name="Menu">
            <folder name="Tools">
    	    <attr name="org-openide-actions-ToolsAction.instance
    			/org-myorg-myfirstmodule-MyFirstAction.shadow" 
    			boolvalue="true"/>
                <file name="org-myorg-myfirstmodule-MyFirstAction.shadow">
    		<attr name="originalFile" 
    	          stringvalue="Actions/Tools/org-myorg-myfirstmodule-MyFirstAction.instance"/>
                </file>
    	    <attr name="org-myorg-myfirstmodule-MyFirstAction.shadow/Separator1.instance"
    		       boolvalue="true"/>
            </folder>
        </folder>
    
        <folder name="Toolbars">
            <folder name="Build">
    	    <attr name="org-netbeans-modules-project-ui-RunMainProject.shadow
    			/org-myorg-myfirstmodule-MyFirstAction.shadow" 
    			boolvalue="true"/>
                <file name="org-myorg-myfirstmodule-MyFirstAction.shadow">
    		<attr name="originalFile" 
    		stringvalue="Actions/Tools/org-myorg-myfirstmodule-MyFirstAction.instance"/>
                </file>
    	    <attr name="org-myorg-myfirstmodule-MyFirstAction.shadow
    			/org-netbeans-modules-project-ui-DebugMainProject.shadow" 
    			boolvalue="true"/>
            </folder>
        </folder>
    
    </filesystem>

  6. ソースエディタで、performAction() メソッドを次のように記述します。

       public void performAction() {
            String msg = "I'm plugged in!";
    	NotifyDescriptor d = new NotifyDescriptor.Message(msg, NotifyDescriptor.INFORMATION_MESSAGE);
    	DialogDisplayer.getDefault().notify(d);      
       }

    次の図に示すように、NotifyDescriptor と DialogDisplayer への呼び出しがある行にエラーがあることを示す下線が引かれます。 これは、関連するパッケージをまだ宣言していないからです。 これらのパッケージは、次の手順で宣言します。

    赤の下線

  7. 「プロジェクト」ウィンドウで MyFirstModule プロジェクトノードを右クリックし、「プロパティー」を選択します。 「ライブラリ」区画で、「追加」をクリックします。 「notifyd」と入力します。NotifyDescriptor を含むパッケージが表示されるまで、返されるリストが絞り込まれます。

    プロジェクトのプロパティー

    「了解」をクリックします。 ダイアログ API がモジュールの依存関係リストに追加されます。 「了解」をクリックして、「プロジェクトプロパティー」ダイアログを終了します。

  8. ソースエディタで Alt-Shift-F キーを押します。 2 つの新しいインポート文がソースファイルの最上部に追加され、赤の下線が消えます。 新しいインポート文は次のとおりです (リンクをクリックすると、関連する NetBeans API Javadoc が表示される)。

       import org.openide.DialogDisplayer;
       import org.openide.NotifyDescriptor;

これで、プラグインモジュールは完成です。 次に、モジュールをインストールして使用します。

プラグインモジュールのインストールと使用

IDE では、Ant 構築スクリプトを使用して、プラグインモジュールを構築、インストールします。 構築スクリプトは、プラグインモジュールプロジェクトを作成すると、自動的に作成されます。

プラグインモジュールのインストール

  • 「プロジェクト」ウィンドウで MyFirstModule プロジェクトを右クリックし、「ターゲットプラットフォームでのインストール/再読み込み」を選択します。

    プラグインモジュールが構築され、ターゲットプラットフォームにインストールされます。 ターゲットプラットフォームは、「ツール」>「NetBeans プラットフォームマネージャー」で設定します。 新しいプラグインモジュールの動作を確認できるように、ターゲットプラットフォームが開きます。 デフォルトのターゲット IDE またはプラットフォームは、開発 IDE の現在のインスタンスで使用されている IDE またはプラットフォームです。

NetBeans のプラグインモジュールの使用

  1. 新しく開いた IDE のメニューバーには、新しいメニューとメニュー項目が、「アクション」ウィザードで指定したアイコンとともに表示されます。

    「My First Action」の実行

  2. メニュー項目を選択し、MyFirstAction.javaperformAction メソッドを呼び出します。 JOptionPane に次のメッセージが表示されます。

    JOption Pane

  3. ツールバーボタンをクリックします。 同じアクションが呼び出されるので、結果は同じです。 ボタンは次のように表示されます。

    「My First Action」ボタン



次の手順

さらに複雑なチュートリアルについては、次のリソースを参照してください。

NetBeans のプラグインモジュールの作成と開発については、次のリソースを参照してください。



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