" Hello World" Java FX中的应用程序,具有最少的Java代码

时间:2018-04-30 07:44:16

标签: java javafx-2 fxml

我在它和Swing之间选择了Java FX,因为我希望该视图(* ML)和逻辑将被拆分(在Swing中不可能)。

这是" Hello world" IntelliJ IDEA中的模板:

 public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}

在逻辑部分中查看两个主干:

  1. 设置标题 - setTitle()
  2. 设置顶级元素大小:primaryStage.setScene(new Scene(root, 300, 275));
  3. 我可以在FXML中设置相同的设置吗?

2 个答案:

答案 0 :(得分:1)

FXML加载器将为您提供已经有prefWidthprefHeight的根元素。

您无法设置标题,但可以删除场景的大小,它将自动从根元素中获取。

必须为Stage明确设置的另一件事是大小限制。您可以拥有初始大小,但用户可以根据需要拖动它。

答案 1 :(得分:1)

您可以使用

设置尺寸

prefHeight="yourHeightValue" prefWidth="yourWidthValue"

设置场景的根元素。您可以使用SceneBuilder创建场景,它将为您生成相关的FXML。