倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

2度目の幻獣 Griffon 研 (1) : JavaFX アプリケーション作成プロジェクト

Griffon 1.0.0 がリリースされたようなので、またチラッと Griffon をいじってみます。 Griffon 1.0.0 からは Swing もプラグインとして提供されるようになったようなので、そんなら、ってことで JavaFX を使ったアプリケーションにチャレンジ。 今回は Griffon で JavaFX アプリケーションを作成するための開発環境の準備と、デフォルトで備わっている JavaFX アプリケーションの実行方法を見ていきます。

タイトルに (1) と付けてますが、続きがあるかは不明。

準備


JavaFX アプリケーションを開発する Griffon プロジェクトを作成するには、「griffon create-app」コマンドの実行前にいくつか行わなければいけないことがあります*1

  1. JavaFX のインストールと環境変数 JAVAFX_HOME の設定
  2. javafx-archetype のインストール
  3. JavaFX アプリケーションを作成する Griffon プロジェクトの作成

以下でそれぞれを見ていきます。

JavaFX のインストールと環境変数 JAVAFX_HOME の設定

JavaFX の実行環境や開発ツールは Maven リポジトリなどで配布できないので*2、自力でインストールする必要があります。 以下のサイト

からダウンロードできます。 インストール方法はそれぞれの環境によって違うと思うので省略。 Windows ではインストーラが付いてたハズ。 ちなみに Java7u4 以降では通常の JDKJavaFX もバンドルされてるようなので*3、そちらからインストールしても OK です。

インストーラからインストールすると環境変数 JAVAFX_HOME も自動で設定されるかも知れませんが、もしされていなければこの設定も必要です。 環境変数 JAVAFX_HOME に JavaFX をインストールしたルート・フォルダを設定してください。

そういえば、環境変数 JAVAFX_HOME まわりで例外が多発する記事がありました:

Griffon 0.9.5 からアップグレードする場合の話っぽいですが、書かれているような例外が投げられたら参照のこと。

javafx-archetype のインストール

次に JavaFX アプリケーションを開発する Griffon プロジェクトのテンプレートみたいなもの

を Griffon にインストールする必要があります。 これは任意のディレクトリ上で以下のコマンド

griffon install-archetype javafx

を実行します。

この archetype をインストールして次節でみる方法で Griffon プロジェクトを生成すれば、別途

をインストールする必要はありません。 ただし、View に GroovyFX を使いたいだけ、といった場合には groovyfx プラグインを単体でインストールして使用するといったこともできるようです。

JavaFX アプリケーションを作成する Griffon プロジェクトの作成

以上で Griffon プロジェクトを作成する準備が整ったので、通常の「griffon create-app」プロジェクトによってプロジェクトを生成します。 この際、griffon-javafx-archetype を使用するので「-archeype=javafx」を付けてコマンドを実行します:

griffon create-app FunctionPlotterFX -archetype=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) などで強制終了する必要があります。

*1:JDK と Griffon はインストール済みとします。

*2:Java8 から標準ライブラリに含まれるらしいけど。

*3:単に、通常の JDK のインストール完了後に JavaFX のインストーラが起動するだけ。