在我的应用中,有一个主窗口和一个辅助功能可以进行一些更改。当用户想要关闭应用程序(=主窗口)时,我想向用户询问关闭更改的辅助窗口的确认,以避免丢失更改。
此代码在我的主要课程上。
我的问题是,如果辅助窗口是打开的,我无法从我的主课程中查看。
注意:正在我的maincontroller类上创建辅助窗口。
谢谢!
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("Main.fxml"));
Scene scene = new Scene(root);
scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
primaryStage.getIcons().add(new Image("image.png"));
primaryStage.setTitle("Κάβα ποτών");
primaryStage.setScene(scene);
primaryStage.show();
primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
@Override
public void handle(WindowEvent event) {
event.consume();
closing();
}
});
}
public void closing() {
//if(the secondary window is closed)
//Platform.exit();
//else
//ask confirmation with confirm alert
}
public static void main(String[] args) {
launch(args);
}
}
答案 0 :(得分:1)
使用isShowing方法确定是否已打开SecondaryStage
。
要使用它,您应该在创建舞台时为变量指定SecondaryStage
,并通过将其设为公开或提供getter来提供对它的访问权。
And this is how to access controller from your Main class.
希望它有所帮助。