【发布时间】:2017-01-12 06:37:31
【问题描述】:
我希望我的 Javafx FXML 应用程序开始最大化,所以我在我的阶段使用了方法 setMaximized(true)。
程序以最大化的方式打开没有问题,但问题是在窗口出现之前,在应用程序启动时有一个小黑色区域闪烁半秒。
我发现问题出在场景上,因为它试图在其 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();
}
【问题讨论】:
-
如果您构建一个版本 (.exe./.jar) 并运行它会发生什么?如果仍然显示故障,请尝试在新线程中调用“primaryStage.show()”(例如 Platform.runLater())
-
是的,运行 jar 时也会发生同样的事情。在“Platform.runLater()”中调用“primaryStage.show()”并没有改变任何东西。
-
注意:添加
primaryStage.setResizable(false);,而不是白色和黑色的矩形,它会显示一个突然最大化的小窗口。