くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

JavaFXでクライアントアプリを作ってみる(準備編)

JavaベースのGUIアプリはいくつかあるけれど、JavaFXというのがだいぶいけてるらしい。

実際に使ってみたので、その備忘録(の準備編)。ちなみに、IDEEclipse 4.5。

のまえに、個人的なJavaFXのいいところ

  1. 画面レイアウトをFXMLでかけて、ビューとロジックがきれいに分けれる!
  2. 画面の見た目もCSSで装飾できる!
  3. アノテーションを使ったデータバインディングができる!
  4. WindowsのexeやUbuntudepでパッケージングができる!

AndroidやWebアプリケーションを作っていると、ビューとロジック、レイアウトと装飾をそれぞれ分けれるのは幸せ

Swingだとそれぞれの責務がこんがらがって、メンテがつらいし。。。

また、画面レイアウトもGUIで作れるツールがあるので、デザイナとエンジニアの分業がしやすいなと

いろいろインストールして開発環境を整える

まずは、JavaFXの開発環境を整えるところから。

インストールするのは以下の2つ

  1. Eclipseプラグイン: e(fx)clipse
  2. 画面レイアウト作成ツール: Scene Builder - Gluon

e(fx)clipseのインストール

ほかのプラグイン同様、Update Siteを追加してインストールするだけ。

公式のページにやさしく書いてあるので、詳細は割愛

SceneBuilderのインストール

以下のサイトからインストーラをダウンロードして、インストールするだけ。

torutkさんの日記によるとJava8u40以降、Oracleから提供されなくなり、Gluon社が代わりに提供しているらしい。

d.hatena.ne.jp

ちなみに、インストーラを使うとC:\Users\user\AppData\Local\SceneBuilderにインストールされます

最後にe(fx)clipse に Scene Builder の場所を設定する

「ウィンドウ」→「設定」→「JavaFX」と選択

「SceneBuilder executable」に先ほどインストールした

Scene Builder の実行ファイル( JavaFX Scene Builder 1.1.exe )のパスを入力する。

引用元はこちら qiita.com

JavaFXのプロジェクトを作ってみる

プロジェクトの構成は「JavaFXプロジェクト」「Mavenプロジェクト」「Gradleプロジェクト」どれでもOK

今回は、Mavenプロジェクトの作成でやってみた

  • MavenCentralに以下のカタログも公開されているので、そちらを使って作成
    • javafx-basic-archetype
    • javafx-rest-archetype(JavaFX + REST)
  • カタログを検索しても出てこない場合には、Eclipseの設定でリモートアーキタイプを追加すると解決する
    • 追加するURLは「http://repo.maven.apache.org/maven2/archetype-catalog.xml
  • ただし、カタログで作成したプロジェクトではFXMLに外部ライブラリ(MidPane)を利用してるため、SceneBuilderが使えない。。。
    • 必要な部分を適宜削除すればOK

とりあえず、Mavenでビルドしてみる

ビルドの前に、MavenJavaバージョンの設定が必要(Mavenのデフォルトは1.5)

<properties>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>
  • mavenでのビルド方法は
    1. パラメタjava.homeJDK内のJREのパスを設定
    2. mvn jfx:nativeをゴールにして実行

それだけ!

参考にしたサイト様

JavaFX全般

JavaFX with Gradle

JavaFX with Maven