スマートフォン用の表示で見る

JavaFX

コンピュータ

JavaFX

じゃばえふえっくす

JavaFX は、Java プラットフォーム上のリッチ・クライアントプラットフォームである。 同じ JavaFX という名前ではあるが、バージョン 1.x 系と 2.0 以降では開発方法などが大きく異なっており、JavaFX 1 系と JavaFX 2.0 以降は別物であると考えた方が良い。

JavaFX 2 以降

バージョン 2.0 以降の JavaFX は、ネイティブJava ライブラリとして実装されているため、JavaFX を使用するアプリケーションネイティブJava コードで記述される。 JavaFX 1 系で用いられていた JavaFX Script は廃止された。

JavaFX 2.2 では、WindowsMac OSLinux プラットフォームがサポートされている。

UI 構造を記述するために、FXML? という XML ベースの言語を使用できる。 FXML? を使用せずに Java コードで UI を構築することも可能である。 また、見た目の変更を行うために CSS を使用できる。

JavaFX 2.x 系の次のバージョンは Java SE のバージョン番号に合わせ、JavaFX 8 となる。

JavaFXインストール

OracleJava SE 7u6(Java 7 Update 6) から、JavaFX SDK が含まれるようになっている。 同様に OracleJRE 7u6 から JavaFX Runtime が含まれるようになっている。 JDKJREインストールすることで JavaFX の機能も使用できる。

Swing との関係

JavaFX 2 より前、Java SE 環境での GUI アプリケーションの記述には、Swing が用いられることが多かった。 JavaFX 2 は Swing を置き換えるものであると Oracle の JavaFX の FAQ では述べられている。

SwingJavaFX を組み合わせて使うことも可能となっている。 例えば、Swing アプリケーションGUI の中に JavaFX の部品を組み込むことが可能である (参考: JavaFX for Swing Developers: Integrating JavaFX into Swing Applications | JavaFX 2 Tutorials and Documentation)。 JavaFX 8 で導入される SwingNode クラス を使用することで、JavaFX アプリケーションGUI の中に Swing の部品を組み込むことも可能である (参考: Embedding Swing Content in JavaFX Applications | JavaFX 8 Tutorials and Documentation)。

JavaFX 1 系

2007 年、サンフランシスコで開催された JavaOne カンファレンスにおいて、Sun Microsystems が発表した Java 上で動作する RIA (リッチ・インターネットアプリケーション) プラットフォーム。 その構想を端的に言うなら、「一度書けばどこでも、どのデバイスでも動く、RIA 開発環境と実行環境」 と言える。

JavaFX アプリケーションの開発には、JavaFX Script と呼ばれる専用のスクリプト言語が使用された。 JavaFX Script は、静的な型付けと宣言的な記述、UI プログラミングを楽にするための様々な機能などを提供する言語。 宣言的なシンタックスを持つため、UI コンポーネントの構造に近い記述を行うことができる。 JavaFX ScriptJava バイトコードコンパイルされるため、Java 言語を使って開発を行うこともできた。

2009 年 9 月においては、デスクトップで動作するバージョンと Windows Mobile 上で動作する JavaFX Mobile Beta がリリースされている。