Alert
наследует метод initOwner(Window)
от Dialog
. Таким образом, вы можете позвонить initOwner(...)
и перейти в окно, отвечающее за отображение диалога. Нет прямой ссылки на это, но вы можете получить ее из сцены, содержащей диалоговую панель диалога:
alert.initOwner(dialog.getDialogPane().getScene().getWindow());
Эту строку нужно просто вызвать за некоторое время до alert.showAndWait()
.
Если вам нужно, чтобы Alert
, созданный в методе validateEmail()
, имел одного и того же владельца, просто передайте ссылку на соответствующее окно этому методу:
public boolean validateEmail(Window mainWindow) {
// ...
Alert alert = new Alert(Alert.AlertType.WARNING);
alert.initOwner(mainWindow);
// ...
alert.showAndWait();
// ...
}
и
RegistrationController controller = fxmlLoader.getController();
if (controller.validateEmail(dialog.getDialogPane().getScene().getWindow())) {
// ...
}