Sembako.java这个主类
public class Sembako extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("rootScene.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.setTitle("Login");
stage.setResizable(false);
stage.show();
}
rootSceneController.java
@FXML private void loginAction(ActionEvent event)抛出IOException {
for (indrian16.oulook.id.co.sembako.entity.Login l : listLogin) {
if(username.getText().equals(l.getUsername())) {
if(password.getText().equals(l.getPassword())) {
Parent rootDashBoard = FXMLLoader.load(getClass().getResource("dashboard.fxml"));
Stage stage = new Stage();
Scene scene = new Scene(rootDashBoard);
stage.setScene(scene);
stage.setTitle("Sembako");
stage.show();
stage.close(); //how close Sembako scene :)
} else {
msgLogin.setText("Password Invalid");
}
} else {
msgLogin.setText("Username Invalid");
}
}
}
如何在rootSceneController.java中关闭窗口Sembako场景
抱歉,我的英文不好答案 0 :(得分:1)
我想你问的是如何关闭之前打开的窗口。假设这是包含username
文本字段的窗口,您可以执行
username.getScene().getWindow().hide();
答案 1 :(得分:0)
有一个简单的方法,
Stage windows;
public void start(Stage primaryStage) throws Exception {
windows = primaryStage;
}
然后在所需的类中传递舞台窗口并使用
windows.close();
这可以从其他类中关闭应用程序:)