プログラミング

JavaFX 基本コンポーネントガイド

JavaFXは、リッチなユーザーインターフェース(UI)を作成するためのライブラリで、Javaでデスクトップアプリケーションを開発するために広く利用されています。JavaFXは、グラフィックス、マルチメディア、アニメーションなどを扱うための豊富なAPIを提供しており、開発者がインタラクティブで魅力的なアプリケーションを構築できるように設計されています。ここでは、JavaFXの簡単なコンポーネント(クラス)について、いくつか紹介し、その特徴と使用方法を説明します。

1. Stage(ステージ)

Stageは、JavaFXアプリケーションのウィンドウを表します。ユーザーが見るアプリケーションの最上位のコンテナとして機能します。Stageは、ウィンドウのサイズ、位置、タイトルなどのプロパティを制御するために使用されます。

使用例:

java
import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.control.Label; public class Main extends Application { @Override public void start(Stage primaryStage) { Label label = new Label("Hello, JavaFX!"); Scene scene = new Scene(label, 300, 200); primaryStage.setTitle("JavaFX Example"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }

このコードは、ウィンドウに「Hello, JavaFX!」と表示するラベルを作成し、Stageに表示します。

2. Scene(シーン)

Sceneは、JavaFXアプリケーションにおけるコンテンツの集まりを管理します。Stageに対して1つ以上のシーンを設定することができます。シーン内には、UIコンポーネント(ボタン、テキストフィールド、ラベルなど)を追加して、ユーザーインターフェースを構築します。

使用例:

java
import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.control.Button; public class Main extends Application { @Override public void start(Stage primaryStage) { Button button = new Button("Click Me"); Scene scene = new Scene(button, 200, 100); primaryStage.setTitle("JavaFX Button Example"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }

このコードでは、ボタンが含まれたシーンを作成し、それをStageにセットしています。

3. Button(ボタン)

Buttonは、ユーザーがクリックできるインタラクティブなUIコンポーネントです。イベントハンドラーを設定することで、クリック時に特定の動作を実行させることができます。

使用例:

java
import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; public class Main extends Application { @Override public void start(Stage primaryStage) { Button button = new Button("Click Me!"); button.setOnAction(e -> System.out.println("Button was clicked")); StackPane root = new StackPane(); root.getChildren().add(button); Scene scene = new Scene(root, 300, 200); primaryStage.setTitle("JavaFX Button Example"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }

ボタンをクリックすると、コンソールに「Button was clicked」と表示されます。

4. TextField(テキストフィールド)

TextFieldは、ユーザーがテキストを入力できるフィールドを提供します。フォームや検索機能など、入力を必要とする場面でよく使用されます。

使用例:

java
import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.control.TextField; import javafx.scene.layout.StackPane; public class Main extends Application { @Override public void start(Stage primaryStage) { TextField textField = new TextField(); textField.setPromptText("Enter your name"); StackPane root = new StackPane(); root.getChildren().add(textField); Scene scene = new Scene(root, 300, 200); primaryStage.setTitle("JavaFX TextField Example"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }

この例では、ユーザーが名前を入力するためのTextFieldを作成しています。

5. Label(ラベル)

Labelは、テキストを表示するためのシンプルなコンポーネントです。UIの他の要素と組み合わせて、情報をユーザーに提供するために使用されます。

使用例:

java
import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.layout.StackPane; public class Main extends Application { @Override public void start(Stage primaryStage) { Label label = new Label("Welcome to JavaFX!"); StackPane root = new StackPane(); root.getChildren().add(label); Scene scene = new Scene(root, 300, 200); primaryStage.setTitle("JavaFX Label Example"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }

Labelは単純なテキスト表示に非常に便利です。

6. HBox / VBox(水平・垂直レイアウト)

HBoxVBoxは、コンポーネントを水平または垂直に並べるためのレイアウトコンテナです。複数のUIコンポーネントを整理して配置する際に役立ちます。

使用例:

java
import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.HBox; public class Main extends Application { @Override public void start(Stage primaryStage) { Button button1 = new Button("Button 1"); Button button2 = new Button("Button 2"); HBox hbox = new HBox(10); // 10はボタン間のスペース hbox.getChildren().addAll(button1, button2); Scene scene = new Scene(hbox, 300, 200); primaryStage.setTitle("JavaFX HBox Example"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }

このコードでは、2つのボタンを水平に並べています。

結論

JavaFXは、ユーザーインターフェースを作成するための強力なライブラリであり、豊富なコンポーネントと機能を提供しています。StageSceneButtonTextFieldなど、基本的なUIコンポーネントを理解し、適切に使いこなすことは、JavaFXアプリケーションを効果的に開発するための第一歩です。これらのコンポーネントを組み合わせることで、リッチでインタラクティブなアプリケーションを構築することができます。

Back to top button