米持幸寿氏が、J2EEの最新技術情報を提供します。最新技術の中身をいち早くキャッチアップしたい読者のためのコーナーです。Editor(以下VE)は、Javaのユーザーインターフェイス用のパネルを編集するためのWYSIWYGエディタです。Studioの一機能でしたが、現在はeclipse.orgにてオープンソース化されています。Kit)に追加するJava開発用のツールです。AWT、Swing、SWTの3種類のUIツールキットに対応しています。今回から2回に分けて、VEを使ってSWTアプリ(パネル)を作成する手順を紹介しましょう。SWTとは何かSWTは、Eclipseの最もコアとなるウィンドウ・ツールキットです。ウィンドウ・ツールキットとは、ウィンドウ・システムにおける基本的なUI部品のセットです。ウィンドウ・システムは通常、単純にウィンドウを管理・表示するだけの機能を提供します。それだけだとウィンドウは「後ろに隠れているウィンドウをクリックしたら前に出る」というような基本動作をしてくれません。ウィンドウ・アプリケーションは、そういった処理をマウスイベント処理などを適切に行うことで個別に行わなければなりませんし、すべてのウィンドウの描画は、描画用のグラフィックAPIで行わなければなりません。そこで、ウィンドウ・システムにはすべてのウィンドウに共通の機能をアドオンして追加しています。ウィンドウの枠をドラッグして大きさを変えられたり、タイトルバーをドラッグして移動したり、といった機能です。このような機能を提供するウィンドウ・システムの要素を「ウィンドウ・マネージャ」といいます。Windowsの場合はWindows自身がウィンドウ・マネージャーの働きをします。OS/2の場合はPM(プレゼンテーション・マネージャー)です。Linuxの場合は非常に多くのウィンドウ・マネージャーがあり、提供しているディストリビューターによって違いますが、Motifというのが有名であり、今日ではGNOMEが多いでしょうか。ウィンドウ・システム全体で共通に使える、一般的な動作をするウィンドウの種類(ウィンドウクラスといいます)をあらかじめ用意して、再利用できるようにしています。このウィンドウクラスのセットを、一般的に「ウィンドウ・ツールキット」といいます。一般的に、フレームウィンドウ、ダイアログボックス、テキストフィールド類、ボタン類、リストやテーブル、ツリー表示などの部品が用意されています。これらのウィンドウは、ユーザー・インターフェイス(UI)をつかさどるソフトウェア部品と考えられることから、UIコンポーネントと呼びます。Win32やOS/2のPM-APIなどのようなネイティブのAPIには、あらかじめウィンドウ・ツールキットが提供されています。Windowなどでは、X11R6ライブラリや、Motifウィジェットといったツールキットがあります。Javaには次の2つのウィンドウ・ツールキットがあらかじめ用意されています。Toolkit(以下AWT)が用意されています。java.awtライブラリに含まれています。Swingの部品Java2からSwingライブラリというツールキットが追加されました。ライブラリはjavax.swingです。Swingでは、AWTにはなかったラジオボタン、パスワードフィールド、スライダー、コンボボックス、ツリー、テーブル、プログレスバーといった部品を加えることで、高度なウィンドウ・アプリケーションが作れるようになりましたJavaのウィンドウ・ツールキットとして標準で提供されているAWTとSwingですが、共通の欠点があります。それは、どちらのウィンドウ・ツールキットもPureJava(すべてのウィンドウ処理をJavaで行う)という設計のため重く、描画をすべてJava上で行うので、見た目が良くない、ということです。SWTのコンテナSWTは、EclipseのベースとなるEclipse独自のウィンドウ・ツールキットです。機能は、Windows、X-Windowの共通部分を抜き出したようなものとなっています。このツールキットの特徴は、PureJavaではなく、ネイティブAPIを使うことにあります。Windows上でSWTを使う場合、Win32に存在するウィンドウ部品はWin32によって動作します。Linuxで動作させる場合、X-Window(実際には、GTKというライブラリ)に存在する部品はGTKによって動作します。SWTに存在し、ネイティブAPIに存在しないウィンドウ部品(例えば、Linux上でのツリー表示)は、PureJavaでエミュレートします。このような構造をしているため、SWTのウィンドウ部品はネイティブAPIの部品そのものですので、非常に性能が良く、見た目もきれいです。Eclipseの成功には、SWTの存在が欠かせなかったといえるでしょう。RCP(リッチ・クライアント・プラットフォーム)ができました。これは、リッチクライアントアプリケーションを作るために利用できるEclipseのランタイムです。SDKとVEのインストールこの記事の執筆時点では、VEのバージョンはv1.1.01が最新ですので、これを使って手順などをご紹介します。以前のものに比べると、かなり使いやすくなっています。Eclipseのセットアップは、「連載:Eclipse3.1を使おう」を参照してください。VEの最新のビルドは、EclipseのVEのサイトから入手可能です。http://www.eclipse.org/vep/VEを動作させるには、同時にいくつかのプラグインをインストールする必要があります。VEのビルド(バージョン)によって前提となるもののバージョンが違いますので、気を付けてください。各社(IBM、Sun、BEA)から提供されているJREがリストされています。Framework)は、Eclipse上でさまざまなエディターを作るときに、エディター上のモデル情報を共有するための強力なフレームワークです。VEがビジュアルエディターとソースコードエディターとの間で画面の設計情報を共有するために利用しています。Framework)は、Eclipse上でグラフィカルエディターを作るためのフレームワークです。エディター上でドラッグ&ドロップ可能な部品を表示し、線で結合するようなツールを作る手助けをします。JVMおよびEclipseのモジュールをダウンロードしますJavaはそれぞれのインストール手順に従ってインストールしてくださいダウンロードした各ZIPファイルを適当なディレクトリに展開します展開すると、中にはpluginフォルダとfeaturesフォルダがあります。Developer(RAD)などの一部のベンダー製品にはあらかじめインストールされています。次回はVEを使ってSWTのパネルを作成します。ゆきひさ)1987年に日本アイ・ビー・エム入社。ソフトウェアの開発、ワークフローシステム開発、オブジェクト指向開発、Web開発などを経験。テクノロジー・エバンジェリストとして活躍する米持氏が主催する、J2EEの最新技術情報を提供するWebサイト。(2017/5/9)ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。(2017/4/6)ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。(2017/4/3)初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。