EclipseでのGUIアプリ開発事情

Javaは標準でSwingというGUIアプリケーションのためのAPIが提供されている。しかし、Javaの標準的な統合開発環境であるEclipseにはSwing向けのGUIデザイナが搭載されておらず、サードパーティ製のプラグイン(本連載第15回を参照)にもこれまではオープンソースのものは存在しなかった。これに対し、Eclipseと並ぶオープンソースのJava IDEであるNetBeansにはMatisseと呼ばれる強力なGUIデザイナが搭載されており、Swingアプリケーションの開発はEclipseの大きな弱点の1つとなっていた。

今回紹介するVisual Swing for EclipseはSwing向けのGUIデザイナを提供するオープンソースのEclipseプラグインだ。

Visual Swing for Eclipseのインストール

VisualSwing for EclipseのWebサイトには更新サイトが用意されているが、筆者の試したところでは更新サイトからインストールを行うことは(Eclipse 3.4/3.5ともに)できなかった。ダウンロードページからZIPファイルをダウンロードできるのでこちらを利用した。

解凍したファイルをEclipseのdropinsフォルダに配置することで動作する。以下のようなフォルダ構造にしておくとプラグインごとにファイルを整理でき、便利だ。

Swingアプリケーションを作ってみよう

Eclipseの新規ウィザードから「Visual Swing Class」カテゴリ配下のウィザードによってSwingのJFrameやJDialogを継承したクラスを作成することができる。

図1 Visual Swing Classの作成

クラスを作成すると以下のようなGUIデザイナが起動するはずだ。パレットからコンポーネントを選択し、GUIデザイナ上でドラッグ&ドロップすることでGUIのデザインを直感的に行うことができる。コンポーネントをドラッグ&ドロップする際はガイドが表示されるため、位置合わせも簡単だ。

図2 GUIデザイナ

図3 ドラッグ&ドロップ時にはガイドが表示される

独自コンポーネントなどパレットに存在しないコンポーネントを使用する場合はパレットの最下段にある「Custom Swing Component」を選択すればよい。任意のクラスを選択してGUIデザイナ上に配置することができる。もちろん独自コンポーネントの場合もGUIデザイナ上ではきちんと描画される。

また、GUIデザイナ上で右クリック→「Preview Design」で実際にウィンドウを立ち上げて表示を確認できる。ウィンドウリサイズ時の動作などを確認する際に利用するといいだろう。

各コンポーネントのプロパティは「プロパティー」ビューで設定することができる。逆にソースコードに編集を加えた場合も自動的にGUIデザイナに反映される。また、「アウトライン」には配置したコンポーネントやコンポーネントに登録されているイベントの階層構造が表示される。

図4 プロパティービュー

図5 アウトラインビュー

配置したコンポーネントにイベント処理を追加するにはGUIデザイナ上でコンポーネントを選択し、右クリック→「Add/Edit Events」から追加したいイベントを選択する。すると以下のようなイベントハンドラメソッドの雛形が生成されるので、メソッド内にボタンがクリックされたとき等の処理を記述しよう。

private void jButton0ActionActionPerformed(ActionEvent event) {
  // ここにイベント発生時の処理を記述
}

まとめ

Visual Swing for Eclipseの利用感はNetBeansのMatisseに近い。つまり、非常に使いやすいということだ。また、動作もそれなりに軽快で安定しており、生成されるソースコードも素直だ。なによりオープンソースかつ実用的なEclipse用のGUIデザイナという点では唯一の存在といってもいい。現在のところEclipseでSwing開発を行うためのプラグインとしては決定版といっても過言ではないだろう。

Eclipse上でSwingアプリケーションの開発を考えている方、SwingアプリケーションのためにNetBeansを使っている方は一度Visual Swing for Eclipseを試してみてほしい。