温馨提示×

java fxml如何创建界面

小樊
81
2024-12-06 14:40:14
栏目: 编程语言

JavaFX 是一个用于创建富客户端图形用户界面(GUI)的 Java 库。要使用 JavaFX 创建界面,你需要遵循以下步骤:

  1. 导入 JavaFX 库

首先,确保你已经将 JavaFX 库添加到项目的依赖项中。如果你使用的是 Maven,可以在 pom.xml 文件中添加以下依赖:

<dependencies>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>17.0.1</version>
    </dependency>
</dependencies>
  1. 创建 FXML 文件

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>

在这个例子中,我们创建了一个包含一个标签的简单布局。你可以根据需要添加更多的控件和布局。

  1. 创建控制器类

控制器类是一个 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() 方法用于在界面初始化时设置标签的文本。

  1. 加载 FXML 文件并显示界面

最后,在你的主应用程序类中,加载 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 创建了一个简单的界面。你可以根据需要添加更多的控件和功能。

0