窪田 康大(くぼた やすひろ)

 豆蔵 BS事業部 開発技術チーム コンサルタント

 かつては「(動作が)重い,(見た目が)ダサい,(APIが)弱い」の三重苦だったJavaのGUIも,Swingの強化やSWT*1の登場によって,実用性を増してきました。それにともない,GUIアプリケーション開発を支援するツールのニーズも当然のように高まっています。

 GUIアプリケーション開発は,その性格上,開発コストが高くなりやすいものです。見栄えの良いアプリケーションを作るために,実行と修正を繰り返していては,日が暮れてしまいますね。マイクロソフトのVisual Studioのように,見た目を確認しながら開発できるGUIビルダがぜひとも欲しいところです。

 ここでは,Eclipseで利用可能な,便利なGUIビルダ・プラグインを紹介します。

■Visual Editorプラグイン

 「Visual Edior」(以下,VE)は,Eclipseと同様,Eclipse.orgコミュニティからリリースされている無償のGUIビルダ・プラグインです。また,Eclipse.orgによって支持された唯一の「公式なGUIビルダ」でもあります。VEの主な特徴は,下記の2点です。

(1)Eclipseプラグイン開発に適した開発機能

 第1回 Eclipse&プラグインのインストール方法図6の通り,Eclipseのワークベンチは,いくつかの「ビュー」と一つの「エディタ」,「メニュー」で構成されています。VEは,このうち「ビュー」と「エディタ」を直接構築することが可能です。

(2)拡張可能なGUIビルダ・プラットフォーム

 VEは,GUIビルダのためのプラットフォームとして設計されています。現在,VEにはAWT/SwingおよびSWT/RCPのためのGUIビルダが同梱されています。しかしこれ以外にも,例えば下記のような独自のGUIビルダを追加することも考慮されています。

  • 独自のGUIコンポーネントを提供するGUIビルダ
  • C/C++など,Java以外のGUIアプリケーションを構築するGUIビルダ

 もっとも「考慮されている」だけであり,新たなGUIビルダが追加される計画は今のところ(原稿執筆時点では)ありません。

◆インストール

 では,早速VEをインストールして使ってみましょう。VEの実行環境を用意するには次のの三つの方法があります。ただし,最新バージョンはVEプロジェクトのサイトから直接ダウンロードする必要があるため,ここでは(1)の手順で環境を構築します。

(1)必要なプラグインをEclipse.orgからダウンロードする

 ダウンロード・ページから,最新バージョン(原稿執筆時)を選択する。

図1●Build Name(1.2.3_jem)を選択
図1●Build Name(1.2.3_jem)を選択
[画像のクリックで拡大表示]

 図1のリンク先ではVEプラグイン,およびVEの起動に必要なEMF,GEFのプラグインがダウンロードできます。

図2●VE,EMF,GEFをダウンロード
図2●VE,EMF,GEFをダウンロード
[画像のクリックで拡大表示]

 なお,国際化パッチは,Eclipse.orgのページからダウンロードできます。

図3●Language Packのリンク
図3●Language Packのリンク

(2)Callistoを利用する

図4●Callistoを使ったインストールの設定例
図4●Callistoを使ったインストールの設定例

(3)AmaterasIDEの環境を利用する

図5●AmaterasIDEでの設定例
図5●AmaterasIDEでの設定例

 VEプラグインのインストールが完了したら,動作確認もかねて必ずVEを起動しましょう。もしVEが起動しなかったり,起動中にエラー・メッセージが表示される場合は,インストールに失敗している可能性があります。少し面倒ですが,環境をクリアするためにもEclipseのインストールから再度行ったほうが良いでしょう。

◆VEを利用したGUIアプリケーション開発

 VEが最も力を発揮するのは,EclipseプラグインのためのGUIビルダとして利用した場合です。図6はVE起動直後の画面です。これらのエディタやビューを利用して,GUIコンポーネントを作成します。VEの操作方法は非常にシンプルで簡単です。

図6●VEの起動時画面
図6●VEの起動時画面
[画像のクリックで拡大表示]

 では,メニューバーの[ファイル]→[プロジェクト]からウィンドウを開き,「プラグイン・プロジェクト」を選択してプロジェクトを作成してください。次に,VEで編集するビジュアルクラスを作成します。メニューバーの新規Javaクラス・アイコンから図7のように「ビジュアル・クラス」を選択します。

図7●ビジュアル・クラスを選択
図7●ビジュアル・クラスを選択

 表示されたウィザード画面で,図8のようにクラス名を入力し,[RCP]→[表示]を選択して終了します。

図8●新規Javaビジュアル・クラス・ウィザード
図8●新規Javaビジュアル・クラス・ウィザード
[画像のクリックで拡大表示]

 図6の各画面について説明しましょう。

(1)グラフィカル・エディタ

 編集中のGUIコンポーネント・クラスの実行イメージを表示します。このエディタ上で,様々なGUIコンポーネントの編集を行うことが可能です。そして,エディタ上で加えた変更内容は,図10のようにソースコードに直ちに反映されます。

図9●グラフィカル・エディタ上でGUIコンポーネントを編集すると,その内容は即座にソースコードに反映される
図9●グラフィカル・エディタ上でGUIコンポーネントを編集すると,その内容は即座にソースコードに反映される
[画像のクリックで拡大表示]

 GUIコンポーネントの追加以外の機能は,マウスの右クリック・メニューから実行することが可能です。右クリック・メニューに提供されている主な機能は以下の通りです。

  • コピー/カット&ペースト
  • フィールド名の変更
  • イベントリスナーの追加
  • カスタマイズ・レイアウト・ウィンドウの起動
(2)ソース・エディタ

 編集中のGUIコンポーネント・クラスのソースコードを表示します。このエディタは,通常のJavaエディタと同じように,ソースコードを直接編集することが可能です。主に,イベント発生時の処理を実装する場合に利用します。ソースコードに加えられた変更内容は,直ちにグラフィカル・エディタや,その他のビューに通知されます。

(3)デザインパレット

 GUIコンポーネントを選択するためのパレットです。パレットに登録されていないGUIコンポーネントは『Choose Bean』から選択することが可能です。

(4)Java Beanビュー

 GUI部品の入れ子関係や並び順を,ツリー状に表示するビューです。ドラッグ&ドロップで入れ子関係や並び順を変更することができます。また,マウスの右クリックから,グラフィカル・エディタと同様の編集を行うことが可能です。複雑な構成のGUIコンポーネントを作成する場合に重宝します。

(5)プロパティビュー

 GUI部品のプロパティ値を設定するためのビューです。GUIコンポーネントのレイアウトや色などの詳細な情報を入力する際に利用します。自作のGUIコンポーネントのプロパティ値も設定できます。

 なお,java.io.BeanInfoクラスを実装・登録することで,拡張を施すことも可能です。詳細については,Eclipseのヘルプから『Visual Editor for Java User Guide』を参照してください。

(6)カスタマイズ・レイアウト・ウィンドウ

 GUIコンポーネントのレイアウトを編集するためのウィンドウです。グラフィカル・エディタの右クリック・メニューから起動できます。

 Javaエディタで直接コーディングしているときに,レイアウト操作を行うのはとても面倒でした。しかし,カスタマイズ・レイアウト・ウィンドウを利用すれば,直感的におこなえます。

◆VEの動向

 残念なことに,VEプロジェクトは,2007年1月30日に最後のリリースを公開して以来,その活動を大きく停滞させています。Eclipse 3.3に対応した,Callistoの後継であるEuropa(エウロペ)にも,VEプラグインが含まれていません。この動きは後援となっている企業の都合によって発生しているようです。

 このような動きが続くようであれば,EclipseのGUIビルダ・プラグインのデファクト・スタンダードは,VEから,次に紹介するWindow Builderにとって変わることでしょう。

■WindowBuilder Pro

 実際の開発現場でVEを利用することは可能でしょうか? 正直なところ,それは難しいでしょう。VEに任せられるのは(今のところ)簡単なツールの開発や,Eclipseプラグインの作成が関の山です。

 VEよりも実用に耐えうるプラグインとして候補にあがるのは,間違いなく「Window Builder Pro」です。WindowBuilderは早くから,VE同様,Swing/SWTに対応していました。またWeb開発のサポート機能もあり,GWT*2にも対応しているなど,ユニークな機能を多く搭載しています。ライセンス料(1年サポート付き)は4万円弱と,決して安くはありませんが,実際の開発現場では十分に元が取れる働きをしてくれるでしょう。

 機会があれば,Window Builderについて詳細なレポートを書きたいと思います。

価格/ライセンス無償(trial version),
有償(Commercial license:299ドルから)
対応バージョンEclipse 2.x,3.x,およびWSAD 5.xに対応
提供元http://www.instantiations.com/
その他Eclipse 3.3系(3.3M5など)にも順次対応中

■Matisse4MyEclipse

 最近,米Sun Microsystemsが提供しているオープンソースIDEのNetBeansが,熱い注目を集めています。かつては,AWT/Swingベースのユーザー・インタフェースが散々の不評を買い,NetBeansへの印象はあまり良いものではありませんでした。しかし現在では,バージョンアップのたびに行われたAWT/Swingの機能改善と,NetBeans自体の機能強化により,悪しき印象はかなり払拭されました。

 そんなNetBeansには「Matisse」という高機能なGUIビルダが提供されています。ここで紹介する「Matisse4MyEclipse」は,このMatisseをEclipse上で利用するためのプラグインです。

 Matisse4MyEclipseを利用するためには,第1回 Eclipse&プラグインのインストール方法で紹介されているMyEclipseが必要です。また有償であるため,下記のサイトでProfessionalライセンスを購入する必要あります。

 ただ,年間ランセンス料49.95ドルを支払ってまで,わざわざEclipse上でMatisseを動かしたい人はあまりいないと思います。Professionalライセンスをお持ちで無い方は,素直にNetBeansでMatisseを動作させたほうが良いでしょう。

価格/ライセンス無償(30日間),有償(Standard Edition:29.95ドル,Professional Edition:49.95ドル)
対応バージョンEclipse 2.x,3.xに対応
提供元http://www.myeclipseide.com/
その他日立製作所との提携で開発された日本語版がある

■その他のプラグイン

Jigloo SWT/Swing GUI Builder

説明GUIビルダ・プラグイン(Swing/SWT対応)
価格/ライセンス75ドル(非商用利用は無償)
対応バージョンJSE 1.4以上,Eclipse 2.1.2,3.x
提供元http://www.cloudgarden.com/
インストール方法ZIPアーカイブの中身をEclipseインストール・ディレクトリに配置。または,更新マネージャ先からのインストール

■まとめ──何を使うかよく考えよう

 多くのGUIビルダが充実してきた昨今,JavaのGUIアプリケーションをテキストエディタで開発する人は少ないと思います。それでも「どのGUIビルダを使うか?」ということはよく考えてから決定しましょう。

 簡単なものであればVEで十分ですし,予算が確保できるのであればWindow Builderを利用するのも手だと思います。もし複雑なSwingアプリケーションを開発するのであれば,そもそもEclipseではなく,NetBeansのほうが適しているかもしれません。システム要件に合わせて,ツールを選択するよう心がけてください。