JavaFX

JavaFX(ジャバエフエックス)はJavaのオープンソースのGUIライブラリである。Swingとは異なり、FXMLと呼ばれるXMLとCSSを併…

JavaFX
JavaFX
開発元 オラクルなど
最新版
25 / 2025年9月16日 (11か月前) (2025-09-16)
リポジトリ ウィキデータを編集
プラットフォーム Javaプラットフォーム
対応言語 Java
種別 GUIライブラリ
ライセンス EULA, 一部 GPL+リンク例外[1]
公式サイト openjfx.io
テンプレートを表示

JavaFX(ジャバエフエックス)はJavaオープンソースGUIライブラリである。Swingとは異なり、FXMLと呼ばれるXMLCSSを併用してデザインを記述する。Java SE 7 Update 2から10までは標準搭載されていたが、現在は分離して配布されている。

概要

JavaFX 10以前

JavaFXは2007年5月8日のJavaOneで公表された。発表当時はリッチインターネットアプリケーション (RIA)用のGUIライブラリだった。発表当時の時点でRIAプラットフォームとしてはすでにAdobe Flexが普及しており、Microsoft Silverlightのリリースが2007年9月6日に迫っていた。JavaFXは3番目のRIAプラットフォームである。

JavaFXは従来のAWTSwingによるJavaのGUI開発をより簡単に、その表現力をよりリッチにした新しいプラットフォームである。JavaFXではアニメーションするGUIを簡単に作成することができ、Java AppletおよびJava Web Startを用いてブラウザを通じて簡単に配布・実行できるRIAプラットフォームとなっている。JavaFX自体はブラウザを要さず、単体のJavaアプリケーションとして実行することが可能である。

フィーチャーフォンなどの組込み向けのJava ME上で動作する JavaFX mobile 1 が2009年2月12日にリリースされたが、JavaFX mobile は JavaFX 2 のリリースとともに廃止。新たにスマートフォン向けのバージョンが計画されていた。

JavaFX 11以降

オラクルの方針により、Java 11以降はJavaFXはJDKから削除され、OpenJFXとして分離され、普通のGUIライブラリとなった。

沿革

JavaFX 1

JavaFX 1 は2008年12月4日リリース。

JavaFX 1 では、静的型付けされた宣言的言語であるJavaFXスクリプトと呼ばれるプログラム言語を用いて開発する仕組みだった。JavaFXスクリプトはJavaバイトコードにコンパイルされるため、プログラマーはかわりにJavaコードを使うこともできた。

JavaFX 2

JavaFX 2.0 は2011年10月10日リリース。

JavaFx 2.0以降、JavaFXを用いるアプリケーションは、「普通の」Java APIを利用して、「普通の」Javaコードで書くことになった。JavaFX ScriptはOracleにより廃止されたが、開発はVisageプロジェクトで続いている[2]。JavaFX 2.xはSolaris携帯電話をサポートしていないが、OracleはJavaFXをJava SE Embedded 8に統合することを計画しており、ARMプロセッサ用のJavaFXは開発者プレビュー段階である[3]

2.0 は Windows のみの対応だったが、2.1 から Mac OS X に、2.2 から Linux に対応[4]

デスクトップ用では、JavaFXは Windows Vista, Windows 7, Windows 8, Windows 10, macOS および Linux をサポートしている[5]。JavaFX 1.2以降、OracleはOpenSolaris用のベータ版をリリースしている[6]。携帯電話用には、JavaFX Mobile 1.x が複数の携帯端末用OSSymbian OSWindows Mobile、および登録商標を持つリアルタイムオペレーティングシステムなど)上で走る。

iOSおよびAndroid向けの有償移植版が、「Gluon」という名前で作られた[7]。これは単一のソースコードベースからデスクトップ、iOS、Androidデバイス向けのアプリケーションを作ることを可能にするものである。

JavaFX 8

JavaFXは、Java 8(2014年3月18日リリース)からJRE/JDKの一部となり、バージョン番号も同じ番号にそろえてJavaFX 8となった。

JavaFX 11

JavaFX 11は、Java 11(2018年9月リリース)に同梱されなくなり、OpenJFXに分離された。Java 11でJava Runtime EnvironmentJavaアプレットJava Web Startが無くなったため、JavaFXの位置づけは、リッチインターネットアプリケーションではなく、普通のJavaアプリケーション用のGUIライブラリとなった。

技術的ハイライト

JavaFX 1.1 は共通プロファイルという概念に基づいている。この共通プロファイルはJavaFXがサポートする全てのデバイスで共通に使われることを意図している。このアプローチにより、開発者はデスクトップ向けと携帯端末向けの両方をターゲットとしたアプリケーションを作るにあたって、共通のプログラミング・モデルを使うことができ、従ってデスクトップ版とモバイル版の間で多くのコード、グラフィック資産、コンテンツなどを共通利用できる。特定の種別のデバイス上で走らすアプリケーション向けの調整を行うニーズに対処するため、JavaFX 1.1にはデスクトップ用あるいはモバイル用に特化したAPIが含まれている。例えば、JavaFXデスクトップ・プロファイルにはSwingや先端的な視覚効果が含まれている。

エンド・ユーザーの視点からみると「ドラッグ・トゥ・インストール」機能によりJavaFXウィジェット(ウェブサイト内にあるアプリケーションであって、ブラウザ・ウィンドウ内で見えるもの)をドラッグ(クリックしたまま引き回す)して、それをデスクトップ上にドロップできる。すると、そのウェブブラウザを閉じても、そのアプリケーションは動作中の状態やコンテキストを失わない。またアプリケーションはユーザのデスクトップ上に自動的に作られたショートカットをクリックすることで再度起動することもできる。サン・マイクロシステムズはドラッグ・トゥ・インストール機能を、開発者が「ブラウザから解放される」ことを可能にする、新しい頒布モデルの幕開けだと宣伝している。

JavaFX 1.x はAdobe PhotoshopおよびAdobe Illustrator用のプラグインのセットを含んでおり、これにより先進的なグラフィックスを直接JavaFXアプリケーションに統合できる。それらのプラグインはJavaFXスクリプトを生成して、グラフィックスのレイヤーや構造を保持する。開発者は取り込んだ静的なグラフィックスに対してアニメーションや視覚効果を容易に追加できる。JavaFX形式への変換後、グラフィックスの取り込みとプレビューを可能にするSVGグラフィックスの変換ツールもあった (Media Factoryとも呼ばれる)。

参照

  1. ^ OpenJFX Project”. オラクル. 2011年12月7日閲覧。
  2. ^ Google Code Archive - Long-term storage for Google Code Project Hosting”. Code.google.com. 2016年8月1日閲覧。
  3. ^ Archived copy”. 2012年12月1日時点のオリジナルよりアーカイブ。2012年11月24日閲覧。
  4. ^ JavaFXに関してよくある質問
  5. ^ JavaFX Supported Configurations”. Oracle.com (2014年4月8日). 2016年8月1日閲覧。
  6. ^ Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle”. Java.sun.com. 2016年8月1日閲覧。
  7. ^ Rapid Enterprise Mobile Apps: Build, Connect, Manage with Gluon” (2017年12月16日). 2017年12月16日閲覧。

外部リンク

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.