如何使用场景生成器设置最大和一个默认大小?

时间:2020-05-25 09:37:15

标签: java intellij-idea javafx scenebuilder

我正在使用场景构建器创建JavaFX应用程序。我只想设置一个自由尺寸(宽度200和高度300)和全屏。我不想授予调整大小的权限。我该怎么做... ??

2 个答案:

答案 0 :(得分:3)

您不能使用Scene Builder来做到这一点,fullScreen是舞台的属性,而不是场景上设置的布局。

解决方案是在场景上加载并设置.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();
}

答案 1 :(得分:0)

@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();
}