教育界、技術者コミュニティでJava言語の教育と啓蒙に長年携わってきた筆者が、独自の視点からJavaの面白さを掘り下げていく。(編集部)
サーバサイド一色だったJavaも、EclipseのようなGUI開発ツールの登場によって、Javaで作成したデスクトップ用アプリケーションで成功を収めることができることが証明されました。「まだまだ一般の人が使うアプリケーションではJavaは少ないかもしれませんが、今後は増えてきそうな気がする」などと思っていたところ、なかなか面白いものが登場してきました。それはJava製のデスクトップ・ウィジェットです。
ワイド画面のパソコンが増えてきたせいか、デスクトップ画面上に「ウィジェット」(Widget)または、「ガジェット」(Gadget)と呼ばれる簡易アプリケーションを動かしている人も多くなってきたのではないでしょうか。Windows VistaやMac OS X(バージョン10.4以降)では、標準で時計、カレンダーといったウィジェットが提供されていますし、GoogleデスクトップやOperaブラウザ、Yahoo!ウィジェットといったアプリケーションでも無料でさまざまなデスクトップ・ウィジェットが利用できますから、重宝している人も多いでしょう。
今回は、こういったデスクトップ向けウィジェットをJavaで実現するためのプラットフォームとして登場した“Glossitope”の世界を紹介します。Javaですから、WindowsだけでなくMac OS XやLinuxのデスクトップでも動作するウィジェットを簡単に作ることができるという魅力があります。
Glossitopeは、GPL2のライセンスで配布されているオープンソースのウィジェット実行エンジンです。原稿執筆時点(2007年10月3日現在)では、アルファバージョンでしたが、とにかく使ってみるということでダウンロードをしてみました。Normal versionをクリックすると、Java Web Startで起動するかを確認するダイアログボックスが表示されるので、デフォルトのウィジェットをダウンロードすると、次のような画面が表示されました。
編集部注:Java Web Startについて詳しく知りたい読者は、「サンの夢を語れるのか?「Java Web Start」」をご参照ください。
右側に表示された領域をクリックすると、いろいろなウィジェットがダウンロードされたにぎやかな画面に切り替わります。
天気予報、時計、カレンダーといったウィジェットが表示されているのが分かります。これらのウィジェットを表示したまま、Windowsのアプリケーションを使うことはできませんが、休憩時間などではこちらの画面に切り替えて、和んだりできそうです。
Setupボタンをクリックすると、動作しているウィジェットの設定画面が表示されます。ほかのウィジェットをダウンロードしたい場合は[Download more]というボタンをクリックしてみましょう。GlossitopeのギャラリーのWebページが表示されて、登録されているウィジェットをダウンロードできます。
GlossitopeサイトにあるFAQによると、Glossitopeは“Desklet”というウィジェット・アプリケーションを実行するためのコンテナだという説明がされています。使ってみると分かりますが、ウィジェットはこのコンテナ内で実行されます。
また、Glossitopeを動かすにはJava 6が必要だということです。ウィジェットを開発するためには、org.glossitope.Deskletインターフェイスを実装するクラスを用意するだけなので、それほど難しくはないようです。
GlossitopeのDevelopersページから、サンプルコードと必要なライブラリをダウンロードして、サンプルのDeskletを動かしてみました。
「as a NetBeans project」のリンクをクリックすると、オープンソースの統合開発環境NetBeans IDE用のSampleWidget.zipファイルがダウンロードできます。「using maven」のリンクをクリックすると、Maven 2を使ったサンプル構築方法の説明ページが開きます。
編集部注:Mavenについて詳しく知りたい読者は、「Java開発支援ツールの定番」の[Maven]や、連載「CoolなEclipseプラグイン」の第11回「ビルドを効率化するEclipseプラグイン」の[m2eclipseプラグイン]をご参照ください。
ここでは、取りあえず、NetBeans IDE用のSampleWidget.zipをダウンロードして動作させてみることにしました。NetBeans IDEも用意する必要がありますが、ダウンロードサイトからインストール用ファイルをダウンロードして実行するだけで、すぐに準備できますし、どうせIDE(統合開発環境)でソースコードを見ることになるので、トータル的に手間が少なくて済むと考え、使ってみることにしました。執筆時点でリリースされていたNetBeans IDE 5.5.1を使いました。
NetBeans IDEの準備はすぐにできたので、早速SampleWidget.zipファイルをダウンロードして展開しました。次に、NetBeans IDE用のプロジェクトファイルを入れるフォルダ「C:\projects」を作成しました。そこへアーカイブを展開した結果のSampleWidgetフォルダを移動しました。このフォルダは、NetBeans IDE用プロジェクトの構成となっていて、直下には、build、lib、src、nbprojectといったフォルダが含まれています。
NetBeans IDE用プロジェクトを開く手順は次のように簡単です。
最近、筆者はEclipseをずっと使っていたので、NetBeans IDEを使用するのは久しぶりでした。機能が多いので、簡単に操作できるとまではいえませんが、大体の操作は分かるインターフェイスで、結構使いやすいと感じました。
また、問題が発生したときにサポートをしてくれる機能が付いていて、助かりました。どういうことかというと、プロジェクトを開いたところで、警告が出たのですが、その解決方法はどうすればよいのか示されたのです。
具体的には、[プロジェクトフォルダを開く]で問題が発生した時点で、SampleWidgetプロジェクトをマウスの左ボタンでクリックして、[参照の問題を解決]を指定するように指示するダイアログボックスが表示されます。いわれたとおりに開くと、次のような画面が表示されます。
ここでは、desklet-specification-1.0.jarが見つからないという警告が出ていました。これは、[解決]ボタンをクリックして、SampleWidgetフォルダに含まれるlibフォルダにあるJARファイルを指定することで解決しました。
また、JDK_1.6プラットフォームが見つからないというメッセージも出ています。これを解決するためには、[解決]ボタンをクリックして表示される画面でプラットフォームを追加するだけです。こういう機能が付いているというのは、いいですね。
とはいうものの、今回の場合は、デフォルトのプラットフォームを指定すればよいはずなので、そちらの方法も調べてみました。プロジェクトのプロパティを一通り確認して、すぐにどうすればいいか分かりました。この場合は、[SampleWidget]のプロパティで[ライブラリ]を指定し、[Javaプラットフォーム]へのインストール時に設定されている[JDK 1.6(デフォルト)]を指定するのです。こうやって使ってみると、NetBeans IDEも結構いい感じです。
準備ができたので、SampleWidgetプロジェクトをマウスの左ボタンでクリックして、[プロジェクトの構築]を指定して、JARファイルを生成しました。
実行する方法が構築結果を表示する画面に出力されているので、そのとおりにコマンドプロンプトを起動して実行しました。
以下のコマンドを実行 |
>java -jar C:\projects\SampleWidget\dist\SampleWidget.jar |
次のように、黄緑色の円と簡単な文字列が描画されたウィンドウがデスクトップの左上に表示されました。
Javaアプリケーションとして動作することを確認できたので、次はウィジェットとして動作させたいところです。そのためには、左側に表示されているGlossitopeの[Setup]を使います。これをクリックすれば、ウィジェットの管理画面が表示されますから、そこで登録をします。管理画面を表示して、[Add]ボタンをクリックし、構築の結果生成されたJARファイルのSampleWidget.jarを追加したところ、次のようにGlossitopeのコンテナに画面が追加されました。
円の周りが透けている点に気が付きましたか?
次ページからはDeskletのサンプルの作り方を解説します。
Copyright © ITmedia, Inc. All Rights Reserved.