Eclipse RCP とは Eclipse3.0 以降のバージョンで搭載されている「Rich Client Platform」のリッチクライアントの開発/実行プラットフォームのことです。
Eclipse RCP の機能を使用して Hello World を表示させるまでの手順について説明します。
Eclipse RCP を使用するには、 Eclipse 3.0 以上をインストールする必要があります。
インストールについては、本サイトの 「Eclipse 3.1 のインストール」 のページを参照して下さい。
なお対象 OS は Windows とします。
HelloWorld を表示させるプロジェクトを作成していきます。
メニューから、「ファイル」→「新規」→「プロジェクト」を選択します。
「プラグイン・プロジェクト」を選択して「次へ」を選択します。
「プロジェクト名」に「HelloWorld」と入力します。
「プロジェクト・コンテンツ」の「デフォルトの使用」、「プロジェクト設定」の「Java プロジェクトの作成」にチェックをします。
「プラグイン・フォーマット」の「このプラグインがターゲットにする Eclipse のバージョン」を「3.1」を選択し、「OSGi バンドル・マニュフェストを作成」にチェックをして「次へ」を選択します。
「プラグインのプロパティー」、「プラグイン・クラス」の項目が入力されていることを確認します。
「リッチ・クライアント・アプリケーション」の「リッチ・クライアント・アプリケーションを作成」の項目で、「はい」を選択して「次へ」を選択します。
「以下のテンプレートを使用してプラグインを作成」をチェックし、 使用可能なテンプレートから「Hello RCP」を選択して「終了」を選択します。
もし下のようなダイアログが表示された場合は、「はい」を選択してください。
上のような画面が表示されます。
このままでも、プログラムは動作しますので確認してみましょう。
上記画面の「テスト」の項目から「Eclipse アプリケーションの起動」をダブルクリックします。
「Hello RCP」というタイトルの画面が表示されたら成功です。
次に、先ほどの「Hello RCP」の画面に「Hello World」を表示させるためのビューを作成します。
「plugin.xml」をダブルクリックし、「拡張」を選択し、上のような画面を表示させます。
次に、「追加」を選択します。
「拡張ポイントの選択」の「拡張ポイント」タブから「org.eclipse.ui.views」を選択します。
すると、下の「org.eclipse.ui.views の使用可能なテンプレート」欄に、「サンプル・ビュー」の項目が表示されるので、それを選択して「次へ」を選択します。
「メイン・ビュー設定」の画面で、下記のように入力します。
「ビュー内でホストされるビューアー・タイプの選択」は「テーブル・ビューアー」を選択し、「リソース・パースペクティブにビューを追加」にチェックが入っていることを確認して「次へ」を選択します。
ここでは、全項目のチェックボックスの選択を解除して、「終了」を選択します。
「パッケージ・エクスプローラー」に、「HelloWorldView.java」,「sample.gif」が追加されていることを確認してください。
次に、「パッケージ・エクスプローラー」から先ほど作成された「HelloWorldView.java」をダブルクリックで開きます。
ソースから不要なところを下記のようにコメントアウトにします。
public class HelloWorldView extends ViewPart { // private TableViewer viewer; // // /* // * The content provider class is responsible for // * providing objects to the view. It can wrap // * existing objects in adapters or simply return // * objects as-is. These objects may be sensitive // * to the current input of the view, or ignore // * it and always show the same content // * (like Task List, for example). // */ // // class ViewContentProvider implements IStructuredContentProvider { // public void inputChanged(Viewer v, Object oldInput, Object newInput) { // } // public void dispose() { // } // public Object[] getElements(Object parent) { // return new String[] { "One", "Two", "Three"}; // } // } // class ViewLabelProvider extends LabelProvider implements ITableLabelProvider { // public String getColumnText(Object obj, int index) { // return getText(obj); // } // public Image getColumnImage(Object obj, int index) { // return getImage(obj); // } // public Image getImage(Object obj) { // return PlatformUI.getWorkbench(). // getSharedImages().getImage( // ISharedImages.IMG_OBJ_ELEMENT); // } // } /** * The constructor. */ public HelloWorldView() { } /** * This is a callback that will allow us * to create the viewer and initialize it. */ public void createPartControl(Composite parent) { // viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); // viewer.setContentProvider(new ViewContentProvider()); // viewer.setLabelProvider(new ViewLabelProvider()); // viewer.setInput(getViewSite()); } // // // // // // // // private void showMessage(String message) { // MessageDialog.openInformation( // viewer.getControl().getShell(), // "HelloWorldView", // message); // } /** * Passing the focus request to the viewer's control. */ public void setFocus() { // viewer.getControl().setFocus(); } }
「createPartControl」メソッドに下記のソースを追記します。
Label label = new Label(parent, SWT.NULL); label.setText("Hello World");
上記のように、「Label」の下に赤い波線が表示されると思います。そしたら、波線の行の左側の電球マークをクリックすると、ポップアップウィンドウが表示されます。ここでは、「'Label'をインポートします(org.eclipse.swt.widgets)」を選択します。すると、電球のマークと赤い波線の表示が消えます。
他に赤い波線が表示されていないことを確認して保存します。
次に「Perspective.java」を開き、「createInitialLayout」メソッドに下記のように編集して保存します。
public void createInitialLayout(IPageLayout layout) { layout.setEditorAreaVisible(false); layout.addView("HelloWorld.views.HelloWorldView", IPageLayout.LEFT, 0.3f, IPageLayout.ID_EDITOR_AREA); }
1.2. プロジェクトの作成の最後に行なったように、プレビューからの実行方法もありますが、ここでは、メニューからの実行方法と、スタンドアロンでの実行について説明します。
「メニュー」から「実行」→「構成および実行」を選択します。
「構成の作成、管理、および実行」ダイアログで、「Eclipse アプリケーション」を選択し、「新規」ボタンを押下します。
「名前」欄に、他の実行構成と区別するために、「HelloWorld」と入力します。
「実行するプログラム」欄で、「アプリケーションの実行」のラジオボタンを選択し、リストボックスから今回作成した「HelloWorld.application」を選択します。他の項目はそのままの値を使用します。
次に、「プラグイン」タブをクリックします。
「プラグイン」タブ では以下の手順で選択していきます。
最後に画面したにある「実行ボタン」を押下します 。
上の画面が表示されれば成功です。
Cドライブの下に「HelloWorldRCP」フォルダを新規に作成します。
HelloWorld プロジェクト 配下の「plugin.xml」をクリックして、エディターに表示させます。
「概要」タブを選択し、「エクスポート」の項目の「エクスポート・ウィザード」のリンクをダブルクリックします。
「使用可能なプラグインおよびフラグメント」で、「 HelloWorld 」を選択します。
エクスポート先で「ディレクトリー」を選択し、先ほど作成したフォルダ(今回は、「HelloWorldRCP」)を指定します。
「コンパイラーのオブション」では、対応する Java のバージョンが選択できます。今回は「5.0」を選択します。
「エクスポート・オプション」で、「ソース・コードを組み込む」、「個々の JAR アーカイブとしてプラグインをパッケージ」のチェックを入れ、「終了」ボタンを押下します。
エクスポートが終了すると、「HelloWorldRCP」の配下に「plugins」フォルダが作成されており、「plugins」フォルダの配下に、エクスポートした「HelloWorld_1.0.0.jar」ファイルが作成されています。
次にこの「plugins」フォルダ配下に、Eclipse の「plugins」フォルダ配下から以下のファイルをコピーして配置します。
<pluginsフォルダ配下の内容>
これらのファイルはメニュ―バーから実行する際 構成及び実行」の「プラグイン」タブで、「必須プラグインの追加」を押下した際に選択されたファイルと同じものです。
なお、「*nl1」ファイルは言語パックです。一緒に配置します。
次に、「HelloWorldRCP」フォルダ配下に、フォルダを新規作成し「configuration」と名前を変更します。
今作成したフォルダの配下に、Eclipse の「configuration」フォルダ配下から「config.ini」をコピーして配置します。
config.iniファイルを開き、下記のように書き換えて保存します。
eclipse.product=org.eclipse.sdk.ide → #eclipse.product=org.eclipse.sdk.ide
#eclipse.application = → eclipse.application=HelloWorld.application
最後に、「HelloWorldRCP」フォルダ配下に、Eclipse のインストールフォルダ配下から、「eclipse.exe」、「startup.jar」をコピーして配置します。
「HelloWorldRCP」フォルダ配下の「eclipse.exe」をダブルクリックします。
上のようなウィンドウが表示されれば成功です。