成功登录后关闭javafx登录窗口

成功登录后关闭javafx登录窗口,javafx,Javafx,我已经创建了JavaFX登录窗口,在登录到主窗口后,登录窗口将关闭 我使用Platform.exit()但它从整个应用程序退出,而不是从登录窗口退出 我无法从控制器类访问舞台。我正在使用下面的closeLogin()方法,但它对我不起作用。这是我的LoginController类: public class LoginController implements Initializable { @FXML private TextField txt_username; @

我已经创建了JavaFX登录窗口,在登录到主窗口后,登录窗口将关闭

我使用
Platform.exit()但它从整个应用程序退出,而不是从登录窗口退出

我无法从控制器类访问舞台。我正在使用下面的
closeLogin()
方法,但它对我不起作用。这是我的LoginController类:

public class LoginController implements Initializable {

    @FXML
    private TextField txt_username;
    @FXML
    private PasswordField txt_password;
    @FXML
    private Button btn_login;
    @FXML
    private Button btn_cancel;
    Stage stage1 = null;

    /**
     * Initializes the controller class.
     */
    @FXML
    private void btn_login(ActionEvent event) throws IOException, Exception {
        Parent root = FXMLLoader.load(getClass().getResource("Library.fxml"));
        Stage page1Stage = new Stage();
        page1Stage.setResizable(false);
        page1Stage.setTitle("Main Form ");
        Scene scene = new Scene(root);
        page1Stage.setScene(scene);
        /*

         Some codes

         */
        page1Stage.show();
        closeLogin();
    }

    public void closeLogin() {
        stage1 = (Stage) stage1.getScene().getWindow();
        stage1.close();
    }

    @FXML
    public void cancelButtonAction() {
        Platform.exit();
    }

    @Override
    public void initialize(URL url, ResourceBundle rb) {
        // TODO
    }

}
使用的
close()。将终止JavaFX应用程序

loginWindow.close();
其中
loginWindow
是要关闭的阶段

更新

您可以尝试从尚未初始化的
stage1
获取
Stage
的实例。使用

stage1.getScene().getWindow();
应该抛出
NullPointerException

尝试从场景图中已经存在的
文本字段
按钮
获取
窗口
的实例

public void closeLogin() {
     stage1 = (Stage) btn_login.getScene().getWindow();
     stage1.close();
}