JavaFX¶
OracleのJava SE 7 JRE/JDKからバンドルされ、OracleのJava SE 8 JRE/JDKにおいて標準搭載されたGUIライブラリがJavaFXです。Java SEのこれまでの標準GUIはSwingでしたが、今後はJavaFXに開発が注力され、Swingは保守モード(新たな機能の追加がない)になっています。
OracleのJava SE 11からJava SEから分離され、OpenJFXコミュニティで開発・リリースされています。
環境¶
プログラミング¶
要素技術¶
- JavaFXとMVC
- JavaFXとMVVM
- JavaFXとマルチスレッド
- JavaFXとレイアウト
- JavaFXとリスト表示(ListView)
- 表(TableView)
- JavaFXとツリー表示(TreeView)
- JavaFXとグラフ(Chart)
- JavaFXとベクターグラフィックス
- JavaFXとバインディング
- JavaFXとテキスト入力
- JavaFXとダイアログ
- JavaFXとウィンドウ
- JavaFXとCSS
- JavaFXとパラメータの取得
- JavaFXとアニメーション
- JavaFXとタッチパネル
- JavaFXと国際化(リソース)
- JavaFXのTips
プログラム作成事例¶
- JavaFXとベクター地図表示
- JavaFX 3Dを理解する
- JARマニフェスト表示
- JavaFXとアナログ時計
- JavaFX Hello JDK8
- JavaFX Hello JDK17
- JavaFXでデスクトップガジェット風プログラム
- JavaFXで流れるHello world
- JavaFXとカレンダー表示デスクトップガジェット
- JavaFXで画像ファイル表示デスクトップガジェット
- JavaFXで地球3D表示デスクトップガジェット
- JavaFX SlideViewer
- JavaFXで楽々アプリケーション開発
SceneBuilder¶
GUIデザインツールSceneBuilderを使って画面を作成するのが今のところ定番です。
JavaFX用ライブラリ¶
オープンソース、商用含めてJavaFXの様々なライブラリの情報をメモ。
JavaFX コントロール¶
TextArea¶
複数行を扱うテキスト表示コントロールです。
大量の行(数千行以上)を扱うと非常に重く遅いので、そのような場合は、ListView<String>を使うと良いです。
JavaFX 3D¶
JavaFX 3D Model Importers
3ds、COLLADA、OBJ、STL、X3Dなどの3Dモデル形式を読み込むライブラリ。
参考情報¶
公式ドキュメント¶
セミナー・カンファレンス¶
JavaDay Tokyo 2016¶
JavaFX 8 and the future
Java FX 8のポーティング
JavaOne 2016¶
JavaOne 2016 - Java Clients and User Interfaces Track
JavaOne 2016 SFで、クライアント&ユーザーインタフェース関連セッション情報と、全てではないですがセッションの資料が取得できます。
書籍¶
T.B.D.
日本語情報¶
Oracle Java Magazine Web版の日本語訳¶
- Raspberry PiでJavaFXを使ってみる
~Javaも動作する安価な単一ボード・コンピュータにより、従来のソフトウェア開発並みにハードウェア開発が簡単に *
Oracle Java Magazineオンライン誌(旧)の日本語訳¶
以下URLから、各号のeBook、PDF版記事を参照可能です。
https://www.oracle.com/jp/technical-resources/article/java/overview.html
- JavaFXの未来(第42号[2019年2月発行])(2018年11・12月号記事)
~UIフレームワークJavaFXの開発にとって大きなターニング・ポイントとなるJavaFX 11 - JavaFXによるプロデューサ・コンシューマの実装(第39号[2018年8月発行])(2018年5・6月号記事)
~伝統的なパターンを改変し、変動の激しい、大量のデータをグラフ化する - FXMLLOADERによるFXMLの拡張(第32号[2017年6月発行])(2017年3・4月号記事)
~FXMLLoaderメカニズムを活用し、JavaFX UIの宣言的定義でより高い柔軟性を実現する - TESTFXによるJAVAFXアプリケーションのテスト(第23号[2015年11月発行])(2015年9・10月号記事)
- エンタープライズ・アプリケーション向けのJavaFXデータ・バインディング(第13号[2013年11月発行])(2013年9・10月号記事)
- JavaFX Scene Builderのエンタープライズ・アプリケーションへの統合(第11号[2013年7月発行])(2013年5・6月号記事)
- JavaFX in Spring パート2(第10号[2013年5月発行])(2013年3・4月号記事)
~Springを利用してJavaFXアプリケーションの中心的なデータ画面を構築する - JavaFX in Spring パート1(第8号[2013年1月発行])(2012年11・12月号記事)
~クライアントでSpringフレームワークを使用する理由 - DataFX:実世界データをJavaFXコントロールに展開(第7号[2012年11月発行])(2012年9・10月号記事)
~データを取得、解析し、さまざまなJavaFXコントロールに表示するDataFX - JavaFX 2における遅延k評価と遅延初期化、そしてカスタム・バインディング(第6号[2012年9月発行])(2012年7・8号記事)
- JavaFX 2.0におけるプロパティとバインディングの活用 パート1(第5号[2012年6月発行])(2012年5・6月号記事)
~バインディングのパワーでJavaFXアプリケーションを強化する - アプリにWebを取り込もう(第4号 [2012年5月発行])(2012年3・4月号記事)
~JavaFXのWebViewを使ってアプリにHTML、CSS、JavaScriptを埋め込めば、これまでにないアプリの開発が可能に - JavaFXとSwingの統合 パート3(第4号 [2012年5月発行])(2012年3・4月号記事)
~JavaFXにより、視覚効果を利用した動きのあるツールバーを実現 - JavaFXとSwingの統合 パート2(第3号 [2012年3月発行])(2012年1・2月号記事)
~Swingアプリケーションの移行:アプリケーション全体を書き直すことなくリッチなJavaFX機能を活用する - JavaFXとSwingの統合 パート1(第2号 [2012年1月発行])(2011年先行発行号記事)
~JavaFX 2.0でSwingインタフェースをJavaFXに移行する
ITPro連載記事(2016年11月~2017年1月)櫻庭 祐一さん著¶
JavaでGUIはどう使うか、JavaFXの基本を知る
Javaで使うGUI、アプリで理解するJavaFX
JavaFXのコントローラークラスとイベント処理を知る
JavaFXのGUI構築ツール、Scene BuilderでFXML編集
JavaFXで見た目を設定する、JavaFXにおけるCSSとは
ブラウザーやグラフが使える、JavaFXの特徴的な機能とJavaFX 8での新機能
日本JavaFXユーザーグループ主催JavaFX Night(2014-11-25)¶
- JavaFXにダイアログがやってくる by 蓮沼賢志さん @btnrouge
発表資料
JavaFX Advent Calendar¶
毎年12月に日本のJavaFX好きな人たちがAdvent Calendarに記事を投稿しています。
じゃばえふえっくす Advent Calendar 2018 (2021年追記)
JavaFX Advent Calendar 2017
JavaFX Advent Calendar 2016
JavaFX Advent Calendar 2015
JavaFX Advent Calendar 2014
日本語記事¶
- ゲーム開発のための JavaFX 入門(翻訳記事)
- Java SE 8 / Java FX 8 概説
大学のゼミのテキストな模様