JavaのGUIをXMLから生成する gui4j 1.1公開
2005/06/09
gui4jプロジェクトは6日(現地時間)、JavaプログラムにおいてGUIをXMLファイルで記述するためのツールであるgui4jを公開した。gui4jを利用することで、ウィンドウの構成や見た目をXMLで定義することができる。これによってプログラム本体とGUI定義を効率よく分離することができるため、アプリケーションの見た目を変更するのにプログラム内部の処理を意識しなくて済むようになる。
gui4jを使用して作成されたJavaプログラムは、ウィンドウ生成時にXMLファイルを読み込む。このXMLファイルにはウィンドウに配置するGUI部品のレイアウトや、ユーザの入力に対して呼び出すアクションなどが定義されている。プログラムはそれらの定義からユーザインタフェースを構築することになる。
GUIの定義を行うXMLファイルは、例えばリストのような記述になる。
リスト helloworld.xml GUIの定義例
<!DOCTYPE View SYSTEM "view.dtd">
<View>
<borderLayout guiId="TOP">
<placeBl anchor="center">
<label text="getHelloWorldText"/>
</placeBl>
</borderLayout>
<menuBar guiId="MENU">
<menu text="'File'">
<menuItem text="'Open'" actionCommand="actionOpen"/>
<menuItem text="'Save'" actionCommand="actionSave"/>
<menuItem text="'Exit'" actionCommand="actionExit"/>
</menu>
</menuBar>
</View>
これをgui4jを利用したプログラムで読み込んでGUIを構築すれば、ウィンドウは図のように表示されることになる。ウィンドウの見た目やGUI部品のレイアウトを変更する場合は、XMLファイルの方を書き換えるだけでいいという仕組みになっている。
|
|
図 gui4jで構築したウィンドウの例 |
JavaのSwingはスマートにGUIアプリケーションを記述することができるが、それでも規模が大きくなれば複雑で保守性が低いプログラムになってしまうことがある。その一因として、ユーザインタフェースの細かなレイアウトに関する情報をプログラム内に埋め込まなければならないことが挙げられる。XMLを利用することでそのような煩わしさを、少なからず解消しようというのがgui4jの狙いである。
プロジェクトサイトでは、gui4j本体以外にサンプルプログラムやXMLファイルのテンプレートなども公開されている。
関連記事
- JSFでAjaxを簡単に実現 - AjaxFaces 1.0公開[2005/6/7]
- WebObjects 5.3リリース - EOModelerがXcodeに統合、HTML 4.0.1をサポート[2005/6/7]
- 簡素なDIコンテナPicoContainer/NanoContainer次期バージョンへ開発進む[2005/6/6]
- HTML代替技術XAMJのリファレンス実装ブラウザ - Warrior 0.9公開[2005/6/1]
- XML-RPCのJava実装最新版 - Apache XML-RPC 2.0公開[2005/5/30]
- Eclipseプラグイン「IBM Availability Monitoring Toolkit 1.0.0」公開[2005/5/25]
- サーバサイドJavaとの連帯を提供するAjaxツール - DWR 0.6公開[2005/5/20]
関連サイト
ヘッドライン
- FirePHPでPHPプログラミングを便利にする方法[14:03 2/10]プログラミング
- Active Directory誕生10周年記念セミナーが2月27日に開催[12:26 2/10]システム管理
- NEC、サイオスら、自動バックアップバック「TWIN NAS 2TB パック」発表[11:45 2/10]システム管理
- グレープシティ、"Excel機能"を提供する.NETコンポーネントの新版発表[11:22 2/10]プログラミング
- トレンドマイクロ、USBメモリ型ウイルス検索製品「Portable Security」発表[10:42 2/10]セキュリティ
- 【コラム】FileMaker×PHPで作る、簡単・便利なWebアプリ 第49回 結果セットの取扱いに特化したクラス、FileMaker_ResultSet(2)[10:18 2/10]プログラミング
- CSS/HTMLリファレンスマニュアル、最新ブラウザ互換情報[09:00 2/10]JavaScript / CSS / HTML
- 【レビュー】BOOK REVIEW - 現場に振り回されるだけのSE人生がイヤならチカラをつけよう[09:00 2/10]SE力
- 【レポート】暗号2010年問題に向け「いつまでに何をすべきか」 - ベリサインが説明[08:00 2/10]セキュリティ
- ルネサス、RXファミリ第3弾としてモータ制御向け「RX62T」を製品化[07:00 2/10]エレクトロニクス







