启动在 JavaFX FXML 中最大化的应用程序 window 无法正常工作

Start the application window maximized in JavaFX FXML not working properly

我希望我的 Javafx FXML 应用程序以最大化方式启动,所以我在我的阶段使用了方法 setMaximized(true)

程序以最大化方式打开没问题,但问题是在 window 出现之前,应用程序启动时有一个小的黑色区域闪烁半秒。

这是我描述的录音 (gif):

我发现问题出在场景上,因为它试图在其 prefWidth 和 prefHeight 中打开,然后按比例放大以适应舞台。 我该如何解决这个问题并使程序像正常程序一样启动?

这是我的 start() 方法:

@Override
public void start(Stage primaryStage) throws Exception{
    Parent root = FXMLLoader.load(getClass().getResource("editor.fxml"));
    primaryStage.setTitle("Simple Text Editor");
    primaryStage.setScene((new Scene(root)));
    primaryStage.setMaximized(true);
    primaryStage.show();
}

我找到的唯一解决方法是:

@Override
public void start(Stage primaryStage) throws Exception{
    Parent root = FXMLLoader.load(getClass().getResource("editor.fxml"));
    primaryStage.setTitle("Simple Text Editor");
    primaryStage.setScene(new Scene(root));
    primaryStage.setMinWidth(450);
    primaryStage.setMinHeight(300);

    Screen screen = Screen.getPrimary();
    Rectangle2D bounds = screen.getVisualBounds();
    primaryStage.setWidth(bounds.getWidth());
    primaryStage.setHeight(bounds.getHeight());

    primaryStage.setMaximized(true);
    primaryStage.show();
}