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 创建了一个简单的界面。你可以根据需要添加更多的控件和功能。