JavaFX は、Java 向けの GUI(グラフィカルユーザーインターフェース)フレームワークです。Java SE に統合されていたこともあり、クロスプラットフォームのデスクトップアプリケーションを開発するための強力なツールセットを提供します。
🔹 JavaFX の概要
| 項目 | 説明 |
|---|---|
| 開発元 | Oracle(現在は OpenJFX プロジェクトとしてオープンソース化) |
| 用途 | GUI アプリケーション(デスクトップ向け) |
| 言語 | Java(および FXML) |
| 描画 | ハードウェアアクセラレーション(GPU)を活用した Scene Graph ベースの描画 |
| UI 定義方法 | Java コード / FXML(XML ベースのマークアップ言語) |
| マルチメディア | 音声、動画、Web(WebView)などをサポート |
| レイアウト | VBox、HBox、BorderPane、GridPane などの多彩なレイアウト管理 |
🔸 主な機能
- Scene Graph ベースのアーキテクチャ
→ UI をツリー構造で管理。ノード(Node)を組み合わせて画面構成。 - FXML による UI レイアウト分離
→ UI の見た目とロジックを分離でき、開発効率が向上。 - CSS スタイリング対応
→ HTML のように外部スタイルシートで UI を装飾可能。 - WebView による HTML 表示
→ Java アプリケーションにブラウザを組み込める。 - メディアサポート
→ 音声や動画を再生できる。 - アニメーションとトランジション
→ 視覚的な動きや変化を簡単に実装。
🔹 JavaFX の使い所
- デスクトップアプリ(POS、業務用アプリなど)
- 教育ツールや可視化アプリ
- プロトタイピングツール
- ビジュアルリッチなユーザーインターフェースの作成
🔸 サンプルコード(Hello World)
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class HelloJavaFX extends Application {
@Override
public void start(Stage primaryStage) {
Label label = new Label("Hello, JavaFX!");
StackPane root = new StackPane(label);
Scene scene = new Scene(root, 300, 200);
primaryStage.setTitle("JavaFX Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
