イマドキのIDE事情 第27回e(fx)clipseでJavaFX 2を試してみよう!
skill

イマドキのIDE事情 第27回
e(fx)clipseでJavaFX 2を試してみよう!

2016.03.17

■JavaFX 2.0とe(fx)clipse

JavaFXはもともと、Adobe AIRやMicrosoft Silverlightなどに対抗するJavaにおけるRIA技術として登場したものだ。当初は、JavaFX Scriptという独自のスクリプト言語でアプリケーションを構築するというものだったが、それほど普及が進まず、JavaFX 2.0からはJavaから利用可能なGUIアプリケーション向けのライブラリに方向転換している。
e(fx)clipseは、Eclipse上でJavaFX 2を使用したプログラミングをサポートするプラグインで、以前はオーストリアのBestSolution社によって開発されていたが、現在はEclipse Foundationの1プロジェクトとして開発されている。前述のように、JavaFX 2は単なるJavaライブラリであるため、Eclipse単体で開発を行うことも可能だが、e(fx)clipseをインストールすることでFXMLやCSSの編集支援機能、FXGraphというUI定義用のDSLなどを利用することが可能になる。

(竹添直樹)

図1 : e(fx)clipseのWebサイト

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

e(fx)clipseは、以下の更新サイトからインストールできる。
http://download.eclipse.org/efxclipse/updates-released/2.3.0/site/
BestSolutions社のWebサイトでは、e(fx)clipseをインストール済みのEclipseも用意されている。必要なプラグインを個別にインストールするのが面倒な場合は、これを利用してもいいだろう。
また、e(fx)clipseではJavaFXのUIを定義するFXMLファイルをEclipse上からScene BuilderというGUIツールで開く機能がある。ただし、Scene Builderは別途インストールしたうえで、e(fx)clipseの設定で実行ファイルのパスを指定しておく必要がある。Scene Builderの最新版はGluon社のWebサイトからダウンロード可能なので必要に応じて導入しておこう。

図2 : JavaFXプロジェクトの作成

■e(fx)clipseの主な機能

e(fx)clipseをインストールすると、新規作成ウィザードを使用してJavaFXプロジェクトを作成できるようになる。JavaFXプロジェクトは、最初からJavaFXを使用できるよう設定されているほかは通常のJavaプロジェクトと同じだ。

図3 : FXMLエディタ

e(fx)JavaFX 2.0では、FXMLというXMLでユーザインタフェースを定義することもできる。e(fx)clipseでは、FXMLを編集するためのエディタを提供しているほか、FXMLを生成するFXGraphというDSLをサポートしている。いずれのエディタもコード補完機能を備えているほか、FXGraphについてはエラーもリアルタイムに報告される。

図4 : FXGraphエディタ

FXGraphファイルを編集すると自動的にFXMLが生成されるため、JavaコードからこのFXMLを読み込むことで、FXGraphで作成したユーザインタフェースを使用することができる。また、「JavaFX Preview」ビューでは、編集中のFXGraphやFXMLをプレビュー表示することが可能だ。

図5 : JavaFX Previewビュー

なお、e(fx)clipseはこのほかにもJavaFXに対応したCSSエディタや、EclipseプラグインでJavaFXを使用可能にするといった興味深い機能も提供されている。

■まとめ

e(fx)clipseはWYWISYGでコンポーネントの配置やプロパティの編集を行うといった見た目のわかりやすさよりも、記述が容易で可読性の高いDSLや高機能なソースエディタ、プレビュー機能などを提供することで、JavaFXの生産性を高めようという方針のようだ。
JavaFXは2.0以降、Javaから利用できるようになったことで既存のIDEで開発ができるようになったほか、ScalaFXやGroovyFXのようにJava以外のJVMベースの言語でJavaFXを利用するためライブラリも登場してきている。これらの言語でGUIアプリケーションを作成したい場合にも利用を検討してみて欲しい。

原稿:竹添直樹
株式会社ビズリーチ所属。Scalaを愛するJVM系プログラマ。業務の傍らOSS開発や執筆活動を行っている。
https://twitter.com/takezoen

この記事はどうでしたか?

おすすめの記事

キャリアを考える

BACK TO TOP ∧

FOLLOW