3

如果我使用以下方法创建 javafx 对话框:

public static void showDialog(Event event) throws IOException {
    dialogStage = new Stage();
    GridPane grid = (GridPane) Start.createLoader().load(Start.class.getResource("file.fxml").openStream());
    dialogStage.setScene(new Scene(grid));
    dialogStage.setTitle("Title");
    dialogStage.initModality(Modality.WINDOW_MODAL);
    dialogStage.initOwner(((Node) event.getSource()).getScene().getWindow());
    dialogStage.showAndWait();
}

如果窗口最大化,则窗口会移动。如果我使用,也会发生这种情况:

Modality.APPLICATION_MODAL

如果我结合它,它会起作用:

dialogStage.initModality(Modality.WINDOW_MODAL);
dialogStage.initOwner(primaryStage.getOwner());

但在这种情况下,所有者窗口不会被阻止。我希望我的对话框显示在最大化的窗口上而不移动它。对话框打开时应阻止最大化窗口。我怎样才能做到这一点?

顺便提一句。我在 Linux 上使用 java 8 和 javafx。

坦克!

4

0 回答 0