JavaFXでデスクトップを遊ぶ「WidgetFX」


JavaFX+NetBeansでWidgetFXアプリを作るには


JavaFXでデスクトップを遊ぶ「WidgetFX」(後編)

小林 秀樹
2009/11/19

JavaFXアプリをWidgetFXウィジェットにする

 ウィジェットとして動作させるには、まず先ほど解凍したWidgetFX SDKのライブラリを参照します。

WidgetFX SDKのライブラリを参照

 [プロジェクト]ウィンドウでHelloWorldWidgetプロジェクトを右クリックし、[プロパティ]をクリックします。[プロジェクトプロパティー]ダイアログの[カテゴリ]から[ライブラリ]を選択し、[JAR/フォルダを追加]をクリックして、表示される[JAR/フォルダを追加]ダイアログで、WidgetFX SDKのWidgetFX-API.jar、jnlp.jar、JFXtras-0.5.jarの3つのライブラリを選択して追加します。

図7 [プロジェクトプロパティー]の[ライブラリ]からWidgetFX SDKのライブラリを追加
図7 [プロジェクトプロパティー]の[ライブラリ]からWidgetFX SDKのライブラリを追加

 WidgetFX SDKのライブラリが追加されました。

図8 ライブラリが追加された
図8 ライブラリが追加された

Java Web Startのための設定

 もう1つ、ウィジェットをJava Web Startで実行するための設定をします。[プロジェクトプロパティー]ダイアログの[カテゴリ]から[実行]を選択し、[アプリケーション実行モデル]の[Web Startで実行]を選択して、[プロジェクト・プロパティ]ダイアログを閉じます。

図9 [プロジェクトプロパティー]の[実行]から[Web Startで実行]を選択
図9 [プロジェクトプロパティー]の[実行]から[Web Startで実行]を選択

StageクラスをWidgetクラスに

 そして、ソースを少しだけ変更します。現在のStageクラスをWidgetクラスに変更するだけです。Stageは、JavaFXにおけるトップ・レベルのコンテナとなるクラスですが、それをWidgetFXのWidgetクラスに置き換えるわけです。Widgetクラスにはtitleとsceneプロパティは存在しないので、コメントアウトします。

 ソースコードは、次のようになります。

package helloworldwidget;
 
//import javafx.stage.Stage;
//import javafx.scene.Scene;
import javafx.scene.text.Text;
import javafx.scene.text.Font;
import javafx.scene.paint.Color;
import org.widgetfx.Widget;
 
Widget {
//    title: "My First Widget"
    width: 250
    height: 80
//    scene: Scene {
        content: [
            Text {
                font : Font {
                    size : 16
                }
                fill: Color.RED
                x: 10
                y: 30
                content: "Hello, World!"
            }
        ]
//    }
}

 これで、完成です。HelloWorldWidgetのNetBeansプロジェクトは、ここからダウンロードできます。

Widgetクラスの主要なプロパティ

  以下の表は、Widgetクラスの主要なプロパティの中から比較的よく使うものを挙げたものです。そのほかのプロパティについては、APIドキュメントを参照してください。

表 Widgetクラスの主要プロパティ
名前 設定値
width Number ウィジェットの幅
height Number ウィジェットの高さ
content javafx.scene.Node[] ウィジェットの内容(構成するノードの配列)
configuration org.widgetfx.config.Configuration コンフィグレーション・ダイアログ

 このうち、widthやheight、contentは、HellowWorldWidgetで使用しました。configurationはConfiguration型のプロパティで、ユーザーが入力した設定値を保存・復元するための仕組みです。この仕組みは、SlideShowウィジェットでは画像の場所を設定するために、Web FeedウィジェットではRSSのURLを設定するために、使用されます。

作ったWidgetFXを動かしてみよう

 先ほどと同様の方法で、作ったWidgetFXを実行してみましょう。起動の途中、ショートカットをデスクトップに作成するかを要求するダイアログが表示されますが、特に必要ないので[スキップ]を押して飛ばしてしまいましょう。

図10 ショートカット作成の確認 [スキップ]を押下
図10 ショートカット作成の確認 [スキップ]を押下

 起動の準備が完了すると、作成したウィジェットが表示されます(図11)。このウィジェットをドックの上までドラッグすれば、ドックの中に入れることもできます(図12)。

図11 実行したHelloWorldウィジェット 図12 ウィジェットをドックに統合
図11 実行したHelloWorldウィジェット 図12 ウィジェットをドックに統合

 下の「launch」アイコンをクリックすると、実際にウィジェットを実行できます。

Launch Widget

 次ページでは最後に、自分で作ったウィジェットを公開する方法や良いウィジェットを作るコツも紹介します。

1-2-3

 INDEX 「JavaFXでデスクトップを遊ぶ「WidgetFX」(後編)」
  Page1
  WidgetFXの開発環境を整えよう
NetBeansで作るJavaFXアプリの初歩
Page2
  JavaFXアプリをWidgetFXウィジェットにする
作ったWidgetFXを動かしてみよう
  Page3
  キッチン・タイマ・ウィジェットもあるよ
自分で作ったウィジェットを公開するには
コラム 「良いウィジェットを作るコツ」
WidgetFXがビジネスチャンスに?


Java Solution全記事一覧



Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間