2017-07-20 1 views
1

J'ai un LoginDialog. RecoverPasswordDialog sera ouvert à partir de LoginDialog. Je trouve un moyen de faire LoginDialog est le propriétaire de RecoverPasswordDialog.Comment rendre propriétaire d'une boîte de dialogue JavaFX est une autre boîte de dialogue?

Voici mon code:

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(); 
    } 
} 

Je sais que je peux le faire comme ça

dlg.initOwner(primaryStage); 
OR 
dlg.initOwner(LoginDialog.this.getOwner()); 

Mais si je fais ça, LoginDialog est pas le parent du RecoverPasswordDialog.

Des idées? Merci!

Répondre

1

Vous pouvez faire

dlg.initOwner(getDialogPane().getScene().getWindow()); 

(Ce qui est un peu d'une façon détournée d'obtenir la fenêtre associée, mais il faut travailler, et je ne vois rien de plus direct.)

+0

Il fonctionne . Merci! – Loc