我不知道如何关闭 java fxml 中的主要 window
I don't know how to close the main window in javafxml
我不知道如何关闭 java fxml 中的主要 window。
这部分代码在class Main:
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
Parent root2 = FXMLLoader.load(getClass().getResource("2ndwin.fxml"));
Scene scene = new Scene(root);
primaryStage.setTitle("Hello World");
primaryStage.setScene(scene);
primaryStage.show();
Scene scene2 = new Scene(root2);
secondaryStage.setScene(scene2);
}
public void show(){
secondaryStage.show();
}
我知道了。在控制器中我这样做了:
Main m = new Main();
m.show();`
但我仍然不知道如何关闭 primaryStage
。
请帮助我或告诉我如何创建新的 window 并关闭旧的 window。我认为这是我想做的 - 这是不正确的,但我自己想出了它。
我通过在你想要关闭的阶段使用一个对象来获得 window
Window currentStage = OBJECTINSCENE.getScene().getWindow();
(将 'OBJECTINSCENE' 替换为场景中任何内容的 ID)。这为您提供了您打开的阶段的参考。然后调用
currentStage.hide();
关闭舞台。
所以你的显示函数如下
public void show(){
Window currentStage = OBJECTINSCENE.getScene().getWindow();
secondaryStage.show();
currentStage.hide();
}
我不知道如何关闭 java fxml 中的主要 window。
这部分代码在class Main:
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
Parent root2 = FXMLLoader.load(getClass().getResource("2ndwin.fxml"));
Scene scene = new Scene(root);
primaryStage.setTitle("Hello World");
primaryStage.setScene(scene);
primaryStage.show();
Scene scene2 = new Scene(root2);
secondaryStage.setScene(scene2);
}
public void show(){
secondaryStage.show();
}
我知道了。在控制器中我这样做了:
Main m = new Main();
m.show();`
但我仍然不知道如何关闭 primaryStage
。
请帮助我或告诉我如何创建新的 window 并关闭旧的 window。我认为这是我想做的 - 这是不正确的,但我自己想出了它。
我通过在你想要关闭的阶段使用一个对象来获得 window
Window currentStage = OBJECTINSCENE.getScene().getWindow();
(将 'OBJECTINSCENE' 替换为场景中任何内容的 ID)。这为您提供了您打开的阶段的参考。然后调用
currentStage.hide();
关闭舞台。
所以你的显示函数如下
public void show(){
Window currentStage = OBJECTINSCENE.getScene().getWindow();
secondaryStage.show();
currentStage.hide();
}