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

问题描述 投票:0回答:2

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

java intellij-idea javafx scenebuilder
2个回答
3
投票

您不能使用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();
}

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();
}
© www.soinside.com 2019 - 2024. All rights reserved.