本サイトでは、SWTを使用するために、以下の準備を行います。
Eclipseをインストールするには、まずはこちらからダウンロードします。
「Eclipse IDE for Java Developers(Windows)」をクリックして、 適当なミラーサイトをクリックすると、ダウンロードが開始されますので、適当なディレクトリに保存します。保存したEclipseは、解凍後インストールするのに適当な場所に移動させます。 私は「C:\Installed\Eclipse3.3」に保存しています。 執筆時点でのEclipseのバージョンは3.3です。 C:\Installedディレクトリは自分で作成しました。 これからの説明は、上記の場所にインストールしてあるものとして行いますが、 別の場所にインストールされた場合は、適切に読み替えて下さい。
余談ですが、何かプログラムをインストールする場合、なるべく「C:\Program Files」にインストールすることは避け、 インストール専用のディレクトリを作成して、自分でインストールするプログラムはまとめてそこにインストールしたほうがいいです。 というのも、後でアンインストールした時に、 アンインストール後にアンインストールしたはずのフォルダが残ったままになっていた場合でも、 それが自分がインストールしたものだということがすぐにわかるので、心配なく削除できます。 (たまにアンインストールしてもフォルダや一部の設定ファイルがアンインストールされないプログラムがある)
インストールを行ったら、その中にあるeclipse.exeをダブルクリックするとEclipseが起動します。 Eclipse IDEでJavaのプログラミングを行うために、「Workbench」をクリックして、開発画面に移動しておきます。
私の環境と若干異なるかもしれませんが、だいたいこんな感じです。 左側にあるのがパッケージエクスプローラ、真ん中が編集画面です。まず、プロジェクトを作成しておきます。 パッケージエクスプローラ上で[右クリック]-[New]-[Java Project]を選択すると、プロジェクト作成画面が表示されますので、 プロジェクト名は「studySWT」として[Finish]をクリックします。
すると、パッケージエクスプローラに「studySWT」というプロジェクトが作成されます。ここで作成したstudySWTというプロジェクトは、普通のJavaプロジェクトです。 Java普通のJavaプログラミングを行うことはできますが、まだSWTプログラミングを行うことはできません。 SWTのプログラミングを行うためには、SWTのライブラリへビルドパスを通さなければなりません。
SWTとJFaceのAPIをプログラミングに使用するためには、その機能を提供するライブラリにビルドパスを通さなければなりません。 これらのライブラリは、C:\Installed\eclipse3.3/pluginsの中の複数のjarファイルに格納されています。 これから先SWTとJFaceについての記述は、すべて以下のjarがビルドパスにインポートされていることを前提としますので、 Eclipse IDEを使ってプログラミングを行う場合は、 そのプロジェクトに以下のすべてのjarファイルをビルドパスに取り込んでおいて下さい。 IDEを使わない場合は、環境変数CLASSPATHに以下のすべてのjarのパスを指定しておきます。
では、私の環境(Eclipse3.3)を例に、ビルドパスを通す手順を説明します。
まず、パッケージエクスプローラにて[右クリック]-[Build Path]-[Configure Build Path]で、ビルドパスの設定ダイアログが表示されます。
その中で[Librariesタグを選択]-[Add Variable]-[Configure Variables]の順にクリックすると、 このようなダイアログになりますので、Newをクリックして NameにSWT、 PathにC:/Installed/eclipse3.3/plugins/org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar を入力してOKをクリックします。すると、その値がClasspath Variablesに追加されます。
この作業を、すでに述べた、SWTプログラミングを行うために必要なライブラリすべてについて行います。 赤線が引いてある部分が、ビルドパスに追加したライブラリです。 OKを押してダイアログを閉じます。これで、SWTプログラミングを開始するための準備が整いました。 これから、この環境を使用してSWTを学習していきます。
Eclipse APIとして取り込むjarファイルは、どう選んだらよいのでしょうか。 C:\Installed\eclipse3.3\pluginsの中のjarファイルは沢山あって、一見どれが何やらわかりません。 しかし、これらのjarは、ある一定規則のネーミング規約に基づいて命名されているので、 それに基づいて見分けることで、目的のjarが見つかることがあります (情報が提供されていたら、そちらを参照して見つけたほうが早いです。自分で探そうとすると、めちゃくちゃ時間とります)。
提供されているAPIは、 外部APIと 内部APIとに分けることができます。 外部APIは、プログラマがそれを使うことができます。 しかし内部APIは、eclipseやその他のプラグインが使うために用意されたものなので、使うことはできません。 つまり、外部APIがSWTプログラミング用、内部APIはSWTを支える縁の下の力持ちと思って下さい。 SWTプログラミングをするには、必要な外部APIのjarをインポートする必要があります。
Eclipse APIのjavadocはこちらで参照することができます。 SWTプログラミングをする際には、ここを開いてAPIを確認しながら作業を行います。
C:\Installed\eclipse3.3\pluginsの中から、必要なjarをクラスパスに取り込むと、SWTプログラミングを行うことが出来るようになりますが、 きちんとした環境が構築されているか、まずはテストをしてみましょう。 あくまでも環境のテストであり、内容はまだ分からなくても問題ありません。
package swttest;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class FirstSWT {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
これを実行すると、次のようになるはずです。
