JavaFX 単語


ニコニコ動画でJavaFXの動画を見に行く

ジャバエフエックス

2.3千文字の記事
これはリビジョン 2074841 の記事です。
内容が古い・もしくは誤っている可能性があります。
最新版をみる
注意 【注意】
この項目は、
JavaFX 2.0以降の情報が書かれています。

JavaFX 1.x系以前の情報はこちら

JavaFXとは、Javaの標準GUIライブラリである(Java 8以降)。お金が溶けるFXとは何の関係もない。

概要(歴史)

JavaFXはサン・マイクロシステムズ社がプログラミング言語として開発した。同社の買収したForm Follows Function (F3)とSavaJeと呼ばれるJava関連技術を発展させて2008年12月にパージョン1.0がリリースとなった。

2009年8月にサン・マイクロシステムズはOracleに買収され、Java及びJavaFXはOracleが引き継ぐところとなったが、2010年9月OracleはJavaFX 2でJavaFX Scriptを廃止することを発表[1]。これによりJavaFXは全く別物のGUIライブラリへと生まれ変わることとなる。

これまでJavaの標準GUIライブラリはSwingであったが、今後はJavaFXを標準GUIライブラリとしていくことも発表された。

JavaFX 2.0は2011年10月10日にリリースされたので、一口にJavaFXといってもこの2011年10月の前と後では全く別物を指している。Web上で情報を探したり、書店で書籍を探したりするときは日付に注意されたい。

JavaFX 2.2の次のバージョンは3.0となる予定だったが、2014年3月18日にリリースされたJava 8以降では標準ライブラリとしてJava仮想マシンに組み込まれることに(Java 7 Update2以降であれば標準搭載されてはいる)なったため、JavaのバージョンにあわせてJavaFX 8になり大きくバージョン番号が飛ぶことになった。

言語仕様等

MVC(モデル・ビュー・コントローラー)モデルでGUIを作成する。

モデルはユーザー(プログラマー)が各自でクラスを作成する。コントローラーについてもユーザーがクラスを作成するが、書き方についてはJavaFX独自の作法がある。

ビューの部分はJavaのソースコードに記述することも可能だが、FXMLというXMLで分離して記述できることが特徴[2]。このFXMLをGUIを通じて作成するScene BuilderというフリーウェアがOracleから配布されており、これによって視覚的にGUIを設計することが可能になった。

フォントや色などの外観はFXMLにCSSを組み合わせることでも変更することができ、さらにこのCSSを外部ファイルとして独立させることも可能である。

黙示のマルチスレッド

Swingなどで既にGUIをマスターしている人には当然なのかもしれないが、JavaFXのGUIを使用すると、GUIに変更を行うためのスレッド(Application Thread: SwingでいうEvent Dispatch Thread)が自動的に生成される。(動画処理などを除き)すべてのGUI変更命令はこのスレッドに集められ、一本化されてから実行される。

ユーザーが明示的に作ったものでないにもかかわらず、このスレッドの存在を意識してコードを書かないと、マルチスレッドの罠にはまって理解できない動作に悩まされることになる。

Swingとの相互運用

JavaFX 2.x系では、Swingの中にJavaFXの部品を入れることはできたが、逆は出来なかった。しかし、JavaFX 8以降では、SwingNodeの導入により相互運用することが可能になっている。

プラットフォーム

プラットフォームはJava仮想マシンが動作する環境、すなわちWindows、Mac、Linuxだが、実用性や安定性を別にすればiOSやAndroidについても以下のようなプロジェクトが存在する。2014年8月現在、Java自体がWindowsのModern UI(旧称Metro)に対応していないため、現時点ではデスクトップアプリケーションの開発が主体であると思われるが、JavaFX自体、タッチやスワイプなどタッチパネル操作を前提にした項目も存在しているので、将来的にはJavaFXでモバイルアプリを開発できる日が来るのかもしれない。

  • Robo VM: VMとついているが、仮想マシンではなくバイトコードをx86やARMのネイティブコードに変換するコンパイラのようなもの。iOS(及びAndroid)向けのアプリ作成が可能だとか。
  • javafxports: JavaFXは2013年以降オープンソース化が進められているので、入手したソースコードをAndroidのDalvik VM向けにコンパイルし直すという力業。しかし、コンパイル済のファイルが入手可能なレベルになっている。

関連動画

2014年7月現在では、JavaFX 1.x系の関連動画しかないようです。

関連商品

ニコニコ市場は2023年11月に終了しました。ニコニコ市場は2023年11月に終了しました。

関連項目

  • Java
  • GUI
  • XML
  • CSS
  • javax.swing
  • オープンソース
  • NetBeans: 対応済み
  • IntelliJ: 対応済み
  • Eclipse: プラグインとしてe(fx)clipseがある。

外部リンク

脚注

  1. *廃止されたJavaFX Scriptの後継としてユーザインタフェース設計用のDSLを策定するVisageという派生プロジェクトもあったが、アルファ版をリリースするにとどまり、2012年以降は動きがない。
  2. *.NET FrameworkのWindows Presentation Foundation(2006年11月の.NET Framework 3.0から搭載、ちなみに.NET Framework 3.0のリリース前の名前はWinFXだった。)にXAMLというXML...おや、誰か来たようだ。

おすすめトレンド

ニコニ広告で宣伝された記事

記事と一緒に動画もおすすめ!
もっと見る

急上昇ワード改

最終更新:2026/01/11(日) 15:00

ほめられた記事

最終更新:2026/01/11(日) 15:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP