Я пытаюсь выучить javafx, и у меня возникают проблемы с окнами оповещений. Мой код довольно прост:
public static void display(String title, String message) {
Stage window = new Stage();
window.initModality(Modality.APPLICATION_MODAL);
window.setTitle(title);
window.setMinWidth(250);
Label label = new Label();
label.setText(message);
Button closeButton = new Button("Close the window");
closeButton.setOnAction(e -> window.close());
VBox layout = new VBox(10);
layout.getChildren().addAll(label, closeButton);
layout.setAlignment(Pos.CENTER);
Scene scene = new Scene(layout);
window.setScene(scene);
window.showAndWait();
}
Проблема в том, что я все еще могу немного взаимодействовать с моим начальным окном, которое я использовал для открытия окна оповещения, в основном, щелкая по начальному окну, оно выводится перед окном оповещения. Насколько я понимаю, этого не должно произойти. Вот gif, демонстрирующий проблему: https://gyazo.com/0c2b69ec39f849227560fbdf2099c07c
Вот мой код, который вызывает окно предупреждения
public void start(Stage primaryStage) {
window = primaryStage;
window.setTitle("Alert Box test");
button = new Button("Click me");
button.setOnAction(e -> AlertBox.display("New Alert", "Don't forget to close this window!"));
StackPane layout = new StackPane();
layout.getChildren().add(button);
Scene scene = new Scene(layout, 300, 250);
window.setScene(scene);
window.show();
}
Что я здесь не так делаю или это просто намеченное поведение?