我正在使用场景构建器创建JavaFX应用程序。我只想设置一个自由尺寸(宽度200和高度300),并设置全屏显示。我不想授予大小调整权限。我该怎么做... ??
您不能使用Scene Builder来做到这一点,全屏是舞台的属性,而不是场景上设置的布局。
解决方案是在场景上加载并设置.fxml,然后在舞台上设置场景。
将舞台设置为全屏,未装饰的窗口:
primaryStage.setFullScreen(true/false);
要最大化舞台并填充屏幕:
primaryStage.setMaximized(true/false);
要在JavaFx中禁用可调整大小的屏幕,请尝试以下操作:
primaryStage.setResizable(false);
并使场景大小的宽度:200 /高度:300:
primaryStage.setScene(new Scene(root, 200 , 300));
这里有一个完整的例子:
@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("views/homePage.fxml"));
primaryStage.setTitle("title");
primaryStage.setScene(new Scene(root, 200 , 300));
primaryStage.setResizable(false);
primaryStage.setMaximized(true);
primaryStage.show();
}
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
// Set the size:
Scene scene = new Scene(root, 200, 300);
// Prevent resizing:
primaryStage.setResizable(false);
// Remove the buttons for minimizing and maximizing:
primaryStage.initStyle(StageStyle.UTILITY);
// Start in full screen mode:
primaryStage.setFullScreen(true);
// Toggle between normal and full screen mode with F11 key:
scene.setOnKeyPressed(event -> {
if (event.getCode() == KeyCode.F11)
primaryStage.setFullScreen(!primaryStage.isFullScreen());
});
primaryStage.setScene(scene);
primaryStage.show();
}