我正在创建一个由一个舞台组成的JavaFX应用程序(在OSX上)。
它既不应该被允许手动调整大小,也不应该通过最大化按钮进入全屏。目前这是由stage.setResizable(false)
实现的,效果很好。
添加警报时出现问题:关闭警报后,最大化按钮会再次成为可定位按钮,从而可以进入全屏。
这是一个简单的代码示例:
// imports
public class MyApplication extends Application {
public static void main(String[] args) { launch(args); }
@Override
public void start(Stage primaryStage) {
primaryStage.setScene(new Scene(new StackPane()));
primaryStage.setResizable(false);
primaryStage.setOnCloseRequest(event -> {
Alert alert = new Alert(AlertType.CONFIRMATION, "Close?");
if (alert.showAndWait().get().equals(ButtonType.CANCEL)) {
event.consume();
}});
primaryStage.show();
}
}
有谁知道为什么会这样?