JavaFX

JavaFX 22 と Scene Builder 23 の最新情報と開発環境構築ガイド

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

JavaFX の概要と最新情報

JavaFX は モジュール化された GUI フレームワーク で、JDK 21 以降とシームレスに連携します。モジュール単位で必要な機能だけを選んで組み込めるため、ランタイムサイズが小さく、保守性の高いデスクトップアプリを構築できます。

  • モジュール化javafx.controls, javafx.fxml など個別に追加可能
  • JDK との互換性:OpenJFX は JDK のリリースサイクルに合わせて更新され、主要 OS(Windows, macOS, Linux)で同一の動作を保証
  • 最新機能(JavaFX 22)
  • マルチスレッド描画最適化による滑らかなアニメーション
  • CSS カスタムプロパティ -fx-var-* の導入でテーマ管理が容易に
  • 新しいコンテナ FlowPaneEx(Scene Builder と併用するとレスポンシブレイアウトが簡単)

:バージョン番号は執筆時点の情報です。リリースノートを必ず確認してください。


開発環境の構築

必要なツール

このセクションでは、JavaFX アプリ開発に最低限必要なツールとそのインストール手順を示します。全て JDK 21 以上 が前提です。

ツール 用途 推奨バージョン(2026 年)
JDK (OpenJDK/Oracle) Java 実行環境・コンパイル 21
ビルドツール 依存管理と自動ビルド Maven 3.9 系、Gradle 8 系
IDE コーディング・デバッグ支援 IntelliJ IDEA 2024, Eclipse 2025‑09 (e(fx)clipse)
Scene Builder FXML の視覚的設計ツール 最新版(2026 年現在 23)

プロジェクト雛形の作成(Maven と Gradle)

以下では、MavenGradle の両方で JavaFX 22 を利用する最小構成を示します。javafx.version プロパティは一元管理し、バージョン変更が容易になるようにしています。

Maven 用 pom.xml

Gradle 用 build.gradle(Groovy DSL)

パス表記の統一ポイント
FXML や CSS のリソースは、ファイルが配置された classpath 上の位置から相対的に指定します。@ プレフィックスを付けると FXML がロードされているクラスローダーのルート からの相対パスになるため、以下のように書くと安全です。


Scene Builder の導入と基本操作

ダウンロードとインストール

公式サイト(https://openjfx.io/)の「Scene Builder」セクションから OS に合わせたインストーラを取得します。表は主要プラットフォーム向けファイル名の例です。

OS ダウンロードファイル
Windows scene-builder-23-windows-x64.exe
macOS SceneBuilder-23.dmg
Linux scene-builder-23-linux.tar.gz

インストール手順は OS ごとに次の通りです。

  • Windows:実行ファイルをダブルクリックし、ウィザードに従うだけで完了。
  • macOS.dmg を開き、Scene Builder.appApplications フォルダへドラッグ。
  • Linuxtar -xzf scene-builder-23-linux.tar.gzchmod +x bin/scene-builder → パスに追加すればターミナルから scene-builder と起動可能。

基本的なレイアウト作成手順

  1. 新規 FXML 作成File > New で空の FXML を生成。
  2. コンテナ配置 – 左側パレットから AnchorPane, VBox, HBox などをドラッグ&ドロップ。
  3. 子要素追加 – ボタンやラベル、テキストフィールドを必要に応じて配置。
  4. プロパティ編集 – 右側の「Properties」タブで幅・高さ・ID・CSS クラスを設定。
  5. リアルタイムプレビュー – 画面上部の Preview ボタンを押すと、実行時に近い UI が即座に表示されます。

Scene Builder は FXML を保存するたびに自動で更新されるため、IDE のビルドプロセスと併せて ホットリロード 的な体験が可能です。


FXML と CSS の基礎と連携手法

FXML の構文とコントローラの結びつけ方

FXML は XML 形式で UI 構造を記述し、fx:controller 属性で Java クラス(コントローラ)を紐付けます。以下は最小構成の例です。

  • xmlnsxmlns:fx のバージョン番号は JavaFX 22 に合わせていますが、実行時に使用している JDK がサポートすれば自動的に適合します。
  • @ プレフィックスを付けたリソース指定(例:stylesheets="@/css/style.css")は、FXML の場所から クラスパスルート への相対パスになるので、プロジェクト構成が変わっても安定します。

コントローラ側の実装例

JavaFX 専用 CSS プロパティとカスタム変数

JavaFX は Web の CSS に似た構文を採用していますが、独自のプロパティが多数用意されています。代表的なものは以下です。

カテゴリ プロパティ例 効果
背景・色 -fx-background-color 背景色を指定
文字 -fx-font-size, -fx-text-fill フォントサイズ・文字色
ボーダー -fx-border-radius, -fx-border-width 角丸・幅
カスタム変数(JavaFX 22) -fx-var-primary-color: #2196F3; 後続のプロパティで var(--primary-color) のように参照可能

カスタム変数の使い方例

この機能により、テーマの切り替えや全体配色の統一がコード変更だけで簡単になります。


ハンズオン:シンプルな UI アプリを作る

プロジェクト構成例

  • MainAppApplication.launch() でアプリを起動するエントリーポイント。
  • sample.fxml:Scene Builder で作成した UI 定義ファイル。
  • style.css:UI の外観を定義するスタイルシート。

MainApp.java

sample.fxml(Scene Builder で作成、手動編集例)

style.css(カスタムテーマ例)

MainController.java

開発サイクルとデバッグのコツ

作業 推奨設定・操作
FXML の変更 Scene Builder で保存 → IDE が自動ビルド(IntelliJ: Ctrl+F9、Eclipse: 「自動ビルド」有効)
CSS の調整 style.css を編集後、アプリを再起動せずに FXML のプレビュー で即時反映を確認
実行エラー対策
  • 「FXML ローディング例外」:クラス名・パッケージが正しいか、@FXML フィールドが存在するか確認
  • stylesheets のパスミス:@/css/style.css のように 先頭スラッシュ を付けて classpath ルートから参照
ホットリロード --add-modules=javafx.controls,javafx.fxml オプションでモジュールを明示し、IntelliJ の「Make Project」だけで UI が再描画されることがあります

まとめ

  • JavaFX 22 は JDK 21+ と完全互換で、モジュール単位の依存管理が可能です。
  • Maven または Gradle を使えば数行の設定で開発環境を整えられます。
  • Scene Builder による視覚的レイアウト設計と、FXML・CSS の組み合わせでロジックとデザインをきれいに分離できます。
  • 本稿のハンズオン例をベースに、自分好みの UI コンポーネントやテーマを追加してみてください。

次のステップ:公式サンプル(https://github.com/openjfx/samples)をクローンし、独自機能(テーブルビュー、グラフ、マルチスレッドタスク)に挑戦すると、実務で使えるスキルがさらに磨かれます。

スポンサードリンク

-JavaFX