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」をダブルクリックします。

上のようなウィンドウが表示されれば成功です。