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 IDE 5.x (ダウンロード)
- Java Standard Development Kit (JDK[tm]) バージョン 1.4.2 (ダウンロード) または 5.0 (ダウンロード)
NetBeans のプラグインモジュールプロジェクトの作成
- 「ファイル」>「新規プロジェクト」を選択します。 「カテゴリ」で「NetBeans プラグインモジュール」を選択します。
NetBeans のプラグインモジュールには、次の 3 種類のプロジェクトを使用できます。
- モジュールプロジェクト。スタンドアロンのプラグインモジュールのテンプレートを作成します。
- ライブラリラッパーモジュールプロジェクト。1 つまたは複数のプラグインモジュールに必要な外部 JAR ファイルのプラグインモジュールを作成します。
- モジュールスイートプロジェクト。同時に配備する、相互に依存する一連のプラグインモジュールとライブラリラッパーモジュールのテンプレートを作成します。
- 「モジュールプロジェクト」を選択します。 「次へ」をクリックします。
- 「名前と場所」パネルの「プロジェクト名」に「MyFirstModule」と入力します。 「プロジェクトの場所」をコンピュータ上の任意のディレクトリに変更します (c:\mymodules など)。 「スタンドアロンモジュール」ラジオボタンと「主プロジェクトとして設定」チェックボックスが選択されていることを確認します。 「次へ」をクリックします。
- 「基本モジュール構成」パネルで、「コード名ベース」の yourorghere を myorg に置き換え、コード名ベースを 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.mf、build.xml、nbproject/project.xml、nbproject/platform.properties、および nbproject/private/platform-private.properties にそれぞれ対応します。
メニュー項目とツールバーボタンの作成
モジュールの機能の基礎を作成するには、NetBeans のプラグインモジュールのファイルテンプレートを使用します。 ファイルテンプレートを使用すると、作成した項目が IDE によって layer.xml ファイルに登録されます。 ウィザードを使用してファイルテンプレートを作成したら、NetBeans の API 一覧を参考にしてモジュールの開発を続けます。
「アクション」ウィザードの使用
- 「プロジェクト」ウィンドウでプロジェクトノードを右クリックし、「新規」>「ファイル/フォルダ」を選択します。 「新規ファイル」ウィザードで、「カテゴリ」から「NetBeans モジュール開発」、「ファイルの種類」から「アクション」を選択します。 「次へ」をクリックします。
- 「アクションの種類」パネルで、デフォルト値をそのまま使用します。 「次へ」をクリックします。
- 「GUI の登録」パネルで、「大域メニュー項目」を選択し、「大域ツールバーボタン」を選択します。 次の値を設定します。
- カテゴリ: ツール
- メニュー: ツール
- 位置: ツール - ここに置く - <セパレータ>
- ツールバー: 構築
- 位置: 主プロジェクトを実行 - ここに置く - 主プロジェクトをデバッグ
「大域メニュー項目」セクションで、「セパレータを前に」と「セパレータを後に」を選択します。
画面は次のようになります。
「GUI の登録」パネルには、次のセクションがあります。
- カテゴリ。「オプション」ウィンドウの「キーマップ」セクションでのアクションの場所を指定します。
- 大域メニュー項目。アクションをメニュー項目として登録するメニューを指定します。 既存のメニュー項目の中での新しいメニュー項目の位置もここで設定できます。
- 大域ツールバーボタン。アクションをボタンとして登録するツールバーを指定します。 既存のツールバーボタンの中での新しいボタンの位置もここで設定できます。
- 大域キーボードショートカット。アクションを呼び出すキーストロークを指定します。
- ファイルの種類のコンテキストメニュー項目。メニュー項目が表示されるファイルの種類の MIME タイプを指定します。 既存のメニュー項目とセパレータの中での新しいメニュー項目の位置もここで設定できます。 このフィールドを使用する詳細なシナリオについては、NetBeans DataLoader Module Tutorial を参照してください。
- エディタのコンテキストメニュー項目。?メニュー項目が表示されるエディタの MIME タイプを指定します。 既存のメニュー項目とセパレータの中での新しいメニュー項目の位置もここで設定できます。 このフィールドを使用する詳細なシナリオについては、NetBeans Editor Extension Module Tutorial を参照してください。
「次へ」をクリックします。
- 「名前、アイコン、および場所」の各パネルで、「クラス名」に「MyFirstAction」と入力し、「表示名」に「My First Action」と入力します。 「アイコン」パネルで、ファイルシステム内の 16x16 ピクセルのアイコンを参照します。 たとえば、NetBeans IDE 5.x のインストールディレクトリ内の次の場所に 16x16 ピクセルのアイコンがあります。
enterprise2\jakarta-tomcat-5.5.9\server\webapps\admin\images
- 「完了」をクリックします。
MyFirstAction.java が org.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>
- ソースエディタで、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 への呼び出しがある行にエラーがあることを示す下線が引かれます。 これは、関連するパッケージをまだ宣言していないからです。 これらのパッケージは、次の手順で宣言します。
- 「プロジェクト」ウィンドウで MyFirstModule プロジェクトノードを右クリックし、「プロパティー」を選択します。 「ライブラリ」区画で、「追加」をクリックします。
「notifyd」と入力します。NotifyDescriptor を含むパッケージが表示されるまで、返されるリストが絞り込まれます。
「了解」をクリックします。 ダイアログ API がモジュールの依存関係リストに追加されます。 「了解」をクリックして、「プロジェクトプロパティー」ダイアログを終了します。
- ソースエディタで Alt-Shift-F キーを押します。 2 つの新しいインポート文がソースファイルの最上部に追加され、赤の下線が消えます。 新しいインポート文は次のとおりです (リンクをクリックすると、関連する NetBeans API Javadoc が表示される)。
import org.openide.DialogDisplayer;
import org.openide.NotifyDescriptor;
これで、プラグインモジュールは完成です。 次に、モジュールをインストールして使用します。
プラグインモジュールのインストールと使用
IDE では、Ant 構築スクリプトを使用して、プラグインモジュールを構築、インストールします。 構築スクリプトは、プラグインモジュールプロジェクトを作成すると、自動的に作成されます。
プラグインモジュールのインストール
NetBeans のプラグインモジュールの使用
- 新しく開いた IDE のメニューバーには、新しいメニューとメニュー項目が、「アクション」ウィザードで指定したアイコンとともに表示されます。
- メニュー項目を選択し、MyFirstAction.java の performAction メソッドを呼び出します。 JOptionPane に次のメッセージが表示されます。
- ツールバーボタンをクリックします。 同じアクションが呼び出されるので、結果は同じです。 ボタンは次のように表示されます。
次の手順
さらに複雑なチュートリアルについては、次のリソースを参照してください。
NetBeans のプラグインモジュールの作成と開発については、次のリソースを参照してください。