はじめに
数年前までのJava製クライアントアプリケーションは遅く、見た目も劣っていた印象がありましたが、Eclipseの登場で状況は一変しました。 Javaで開発されたクライアントアプリケーションがネイティブなクライアントアプリケーションに匹敵する軽快さ、操作感を持っていることに驚かされたの は記憶に新しいのではないでしょうか。
そのEclipseのユーザーインタフェースに使用されているのが、本稿で解説するSWT(Standard Widget Toolkit)です。
SWTの特徴は次のとおりです。
- 軽快な動作を実現
- 同じJavaのGUIツールキットであるSwingと比較して優れたパフォーマンスを発揮できます。ただし、使用するPCのスペックが良くなってきたことや、Swingのパフォーマンスが改善されてきているため、以前ほどの差はなくなったように感じます。
- ネイティブなルック&フィール
- SWTはネイティブAPIを呼び出しているため、プラットフォームネイティブなルック&フィールを実現できます。
- 動作するプラットフォームは限られている
- 前述したようにネイティブAPIに依存しているため、主要なプラットフォームではすべて動作するものの、完全なマルチプラットフォームではありません。
このような特徴を持っているSWTですが、進化し続けるEclipseを背景にさまざまなアプリケーションに使われており、今後も活躍の場を広げていくのは間違いありません。
本稿では、手軽に開発を始められるように、GUIビルダーを使ってSWTアプリケーションを開発する方法を解説していきます。
GUIビルダーを使うことで、高い生産性が期待できるだけなく、自動生成されたソースコードを使ってGUI開発の学習にも使用できます。
Visual Editor
手軽にSWTアプリケーションの開発を始めるために、今回はVisual Editorプラグイン(以降VE)を使用することにします。
VEは、Eclipseのツールプロジェクトで開発、提供されているオープンソースGUIビルダーです。AWT/Swing/SWT/Eclipse RCPの開発をサポートしています。
VEはWYSIWYGな開発環境を提供しており、画面デザインから自動生成されるのはシンプルなJavaコードのみで余計なファイルが生成されることがありません。そのため、自動生成されたソースコードを使ってGUI開発を学習するのに向いていると言えるでしょう。
開発環境のインストール
本稿で説明するSWTの開発に必要な環境は次のとおりです。
- Eclipse SDK 3.1.1 + LanguagePack
- VE 1.1.0.1 + LanguagePack
- EMF build 2.1.0
- GEF Build 3.1
Eclipseのダウンロードサイト(注1)からダウンロードし、Eclipseインストールフォルダーに展開してください。