Griffon 1.0.0 がリリースされたようなので、またチラッと Griffon をいじってみます。 Griffon 1.0.0 からは Swing もプラグインとして提供されるようになったようなので、そんなら、ってことで JavaFX を使ったアプリケーションにチャレンジ。 今回は Griffon で JavaFX アプリケーションを作成するための開発環境の準備と、デフォルトで備わっている JavaFX アプリケーションの実行方法を見ていきます。
タイトルに (1) と付けてますが、続きがあるかは不明。
準備
JavaFX アプリケーションを開発する Griffon プロジェクトを作成するには、「griffon create-app」コマンドの実行前にいくつか行わなければいけないことがあります*1:
以下でそれぞれを見ていきます。
JavaFX のインストールと環境変数 JAVAFX_HOME の設定
JavaFX の実行環境や開発ツールは Maven リポジトリなどで配布できないので*2、自力でインストールする必要があります。 以下のサイト
からダウンロードできます。 インストール方法はそれぞれの環境によって違うと思うので省略。 Windows ではインストーラが付いてたハズ。 ちなみに Java7u4 以降では通常の JDK に JavaFX もバンドルされてるようなので*3、そちらからインストールしても OK です。
インストーラからインストールすると環境変数 JAVAFX_HOME も自動で設定されるかも知れませんが、もしされていなければこの設定も必要です。 環境変数 JAVAFX_HOME に JavaFX をインストールしたルート・フォルダを設定してください。
そういえば、環境変数 JAVAFX_HOME まわりで例外が多発する記事がありました:
Griffon 0.9.5 からアップグレードする場合の話っぽいですが、書かれているような例外が投げられたら参照のこと。
javafx-archetype のインストール
次に JavaFX アプリケーションを開発する Griffon プロジェクトのテンプレートみたいなもの
を Griffon にインストールする必要があります。 これは任意のディレクトリ上で以下のコマンド
を実行します。
この archetype をインストールして次節でみる方法で Griffon プロジェクトを生成すれば、別途
をインストールする必要はありません。 ただし、View に GroovyFX を使いたいだけ、といった場合には groovyfx プラグインを単体でインストールして使用するといったこともできるようです。
JavaFX アプリケーションを作成する Griffon プロジェクトの作成
以上で Griffon プロジェクトを作成する準備が整ったので、通常の「griffon create-app」プロジェクトによってプロジェクトを生成します。 この際、griffon-javafx-archetype を使用するので「-archeype=javafx」を付けてコマンドを実行します:
「FunctionPlotterFX」の部分はプロジェクト名にします。 ルート・パッケージを指定したい場合は(ルート・パッケージを org.waman.fpfx として)
griffon create-app org.waman.fpfx.FunctionPlotterFX -archetype=javafx
とします。 これで Griffon プロジェクトが生成されるはずです。
JavaFX アプリケーションを実行してみる
Griffon プロジェクトが問題なく作成されると、そのままでアプリケーションを実行できるハズなので、実際に実行してみましょう。 プロジェクトのルートフォルダ上で以下のコマンド
griffon run-app
を実行すると、以下のようなアプリケーションが開始されます(Windows):
まぁ、これ以上何もないですけど・・・ ウインドウを「×」閉じるとアプリケーションは終了しますが、Swing でいう defaultCloseOperation が EXIT_ON_CLOSE に設定されていないような状態で、プログラムは走ったままになっています。 なので、完全にプログラムを終了するためには「Ctrl + C」(Windows) などで強制終了する必要があります。