我有一个LoginDialog。将从LoginDialog打开RecoverPasswordDialog。我找到了一种方法使LoginDialog成为RecoverPasswordDialog的所有者。
这是我的代码:
public class LoginDialog extends Dialog<String> {
@FXML
public void handleForgotPasswordClick() {
RecoverPasswordDialog dlg = new RecoverPasswordDialog();
dlg.initOwner(LoginDialog.this); // ERROR because LoginDialog is not Window
dlg.show();
}
}
我知道我可以这样做
dlg.initOwner(primaryStage);
OR
dlg.initOwner(LoginDialog.this.getOwner());
但是,如果我这样做,LoginDialog不是RecoverPasswordDialog的父级。
有什么想法吗?谢谢!
答案 0 :(得分:1)
你可以做到
dlg.initOwner(getDialogPane().getScene().getWindow());
(这是获取相关窗口的一种迂回方式,但它应该有效,而且我看不到更直接的东西。)