我希望我的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();
}
答案 0 :(得分:1)
我找到的唯一解决方法是:
@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();
}