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