我有一个LoginDialog。 RecoverPasswordDialog将从LoginDialog中打开。我正在寻找一种方法使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的父级。
有任何想法吗?谢谢!
最佳答案
你可以做
dlg.initOwner(getDialogPane().getScene().getWindow());
(这是获取关联窗口的一种回旋方式,但它应该可以工作,而且我看不到任何更直接的方法。)