JavaFX 是一個用于創建富客戶端圖形用戶界面(GUI)的 Java 庫。要使用 JavaFX 創建界面,你需要遵循以下步驟:
首先,確保你已經將 JavaFX 庫添加到項目的依賴項中。如果你使用的是 Maven,可以在 pom.xml
文件中添加以下依賴:
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>17.0.1</version>
</dependency>
</dependencies>
FXML 文件是一個 XML 文件,用于定義 JavaFX 界面的布局。要創建一個 FXML 文件,請使用你喜歡的文本編輯器(如 Notepad++ 或 Visual Studio Code)創建一個新文件,并將其命名為 YourScene.fxml
(將 “YourScene” 替換為你的場景名稱)。
在 YourScene.fxml
文件中,添加以下代碼以定義一個簡單的界面布局:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.StackPane?>
<StackPane xmlns:fx="http://javafx.com/fxml" prefHeight="200" prefWidth="300">
<Label text="Hello, JavaFX!" fx:id="@mainLabel"/>
</StackPane>
在這個例子中,我們創建了一個包含一個標簽的簡單布局。你可以根據需要添加更多的控件和布局。
控制器類是一個 Java 類,用于處理 FXML 文件中的界面元素。要創建一個控制器類,請創建一個新 Java 類,并將其命名為 YourSceneController.java
(將 “YourScene” 替換為你的場景名稱)。
在 YourSceneController.java
文件中,添加以下代碼:
import javafx.fxml.FXML;
import javafx.scene.control.Label;
public class YourSceneController {
@FXML
private Label mainLabel;
@FXML
public void initialize() {
mainLabel.setText("Hello, JavaFX!");
}
}
在這個例子中,我們使用 @FXML
注解將 mainLabel
與 FXML 文件中的 <Label>
元素關聯起來。initialize()
方法用于在界面初始化時設置標簽的文本。
最后,在你的主應用程序類中,加載 FXML 文件并顯示界面。以下是一個簡單的示例:
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
Parent root = FXMLLoader.load(getClass().getResource("YourScene.fxml"));
primaryStage.setTitle("JavaFX Example");
primaryStage.setScene(new Scene(root));
primaryStage.show();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
在這個例子中,我們使用 FXMLLoader.load()
方法加載 FXML 文件,并將其設置為場景的根節點。然后,我們將場景設置為主舞臺的場景,并顯示主舞臺。
現在,你已經成功地使用 JavaFX 創建了一個簡單的界面。你可以根據需要添加更多的控件和功能。