EclipseでHello Worldを

とりあえず、Eclipseってマジメに使ったことがないので、Tutorialを実行する。もちろん、JavaHello Worldを書くのなんて出来るよ。問題は、Eclipseを使いこなすことの方なんだ。

Hello World

Tutorialに従って、Hello Worldする。Java Projectをまず作る。で、HelloWorld.javaを作成して、System.out.println("Hello World");する。知らなかったよ、Saveするだけで、buildされるのな。そして、Projectを選択した状態で、「Run As Java Application」すると、ConsoleというTabを持つ小ウィンドウが開いて、そこで実行されるのな。VisualStudio+C#で同じように、Console.Writeln("Hello World");したら、一瞬黒い画面が表示されてすぐ消える(cmd.exeが起動して、Hello Worldを表示している)のと比べると、親切だ。
ここで、二つ覚えた。「Saveするとbuildされる」ことと「Run As Java Application」という実行の仕方。

Hello World GUI

Tutorialに従って、SWTを使ってHello Worldする。
http://download.eclipse.org/eclipse/downloads/ のLatest Releaseをクリックして開いた画面上で「SWT」を検索すると、今日時点では、swt-3.5.2-cocoa-macosx-x86_64.zipというのが段ロード可能になっているっぽい。「Save the file to your disk; you do not need to extract the archive. 」とのことなので、unzipしないで、そのまま置いておく。
このswt-3.5.2-cocoa-macosx-x86_64.zipをEclipseのimportメニューから「General→Exsiting Projects into Workspace」を選択して、importする。
ここで、HelloWorldSWTというJavaProjectを作成し、このProjectのProperty画面にて、Java BuildPathページを開いて、今importしたorg.eclipse.swtをadd Projectする。なるほど。
そしたら、main() を持つHelloWorldSWT.javaというclassを作成する。さて、Tutorialに従って、main()内に以下のように記述する。

		Display display = new Display();
		Shell shell = new Shell(display);
		shell.setText("Hello world!");
		shell.open();
		while (!shell.isDisposed()) {
		if (!display.readAndDispatch()) display.sleep();
		}
		display.dispose();		

Tutorialに書いてあるように、エラーが出る。DisplayとかShellとかの定義がされてないからだ。ここで、import文を書くのかと思いきや、エディタ上で右クリックして、「Organize imports」というメニューを実行するらしい。こういうのって、やっぱりTutorialとかやっておかないと分からないよな。
ここで、Run As JavaApplicationすると、ウィンドウが開く。開くけど、何も書いてない。何か間違えたかな?
考えてみると、開くウィンドウに対して、LabelとかTextFieldとかの指定をしてない。じゃあ、shell.setText("Hello World!")してるのは何だったんだ?正解は、開いたWindowのタイトルが「Hello World!」になってた。分かりにくいな。いや、分かりやすいとも言えるか。

さて、こんなところで、Eclipseを使いこなせるようになっているとも思えないけれど、少しマジメにJavaでプログラムを書けるようにがんばってみよう。