温馨提示×

java fxml怎样布局控件

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

JavaFX 使用 FXML 来布局和设计用户界面。FXML 是一种基于 XML 的文件格式,用于描述 JavaFX 应用程序的用户界面组件及其属性。要使用 FXML 布局控件,请按照以下步骤操作:

  1. 创建 FXML 文件: 在项目的资源文件夹中,创建一个新的 XML 文件,例如 MyLayout.fxml。在这个文件中,我们将定义控件的布局。

  2. 编写 FXML 代码: 在 MyLayout.fxml 文件中,使用 FXML 标签定义控件及其属性。例如,以下代码创建了一个包含 Label 和 Button 的垂直布局:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <?import javafx.scene.control.Button?>
    <?import javafx.scene.control.Label?>
    <?import javafx.scene.layout.VBox?>
    
    <VBox xmlns:fx="http://javafx.com/fxml" prefHeight="200" prefWidth="300">
        <Label text="Hello, JavaFX!" />
        <Button text="Click me!" />
    </VBox>
    
  3. 加载 FXML 文件: 在 Java 代码中,使用 FXMLLoader 类加载 FXML 文件并将其转换为 Scene 对象。然后,将 Scene 对象设置给 Stage 对象以显示界面。例如:

    import javafx.application.Application;
    import javafx.fxml.FXMLLoader;
    import javafx.scene.Scene;
    import javafx.scene.control.Label;
    import javafx.scene.control.Button;
    import javafx.scene.layout.VBox;
    import javafx.stage.Stage;
    
    public class MyApp extends Application {
    
        @Override
        public void start(Stage primaryStage) throws Exception {
            FXMLLoader loader = new FXMLLoader(getClass().getResource("MyLayout.fxml"));
            Parent root = loader.load();
    
            primaryStage.setTitle("JavaFX FXML Example");
            primaryStage.setScene(new Scene(root));
            primaryStage.show();
        }
    
        public static void main(String[] args) {
            launch(args);
        }
    }
    
  4. 运行应用程序: 编译并运行应用程序。你应该能看到一个包含 Label 和 Button 的窗口,它们按照 FXML 文件中的定义进行布局。

通过这种方式,你可以使用 FXML 在 JavaFX 中轻松地布局和设计用户界面。你可以根据需要添加更多的控件和设置它们的属性。要了解更多关于 FXML 的信息,请参阅 JavaFX FXML 文档

0