当前位置: 首页 > 知识库问答 >
问题:

我如何让我的程序等到JavaFX窗口关闭后再继续?

姚德容
2023-03-14

我有一个程序正在显示结果的条形图。我想等到用户关闭条形图,继续下一行代码,询问他们是否要为该图输入新信息。

Scene scene = BarGraph.getBarChart();
primaryStage.setScene(scene);
primaryStage.setTitle("Bar Chart");
primaryStage.show();

repeat = JOptionPane.showConfirmDialog(null, "Would you like to enter another number?");

正在发生的是,柱状图的场景将打开,但什么也不会显示,并且JOptionPane立即弹出问题。如果我点击“否”,则显示图表,但程序结束。如果我点击“是”,程序将返回到前面的对话框窗口,但在其他对话框结束之前不会显示图表。

我想等待提示用户,直到他们关闭条形图。在这一点上,我是如此的沮丧,以至于我甚至会人为地暂停,比如等待(5000)或什么的,尽管我也没能让它起作用。

共有1个答案

墨阳羽
2023-03-14

尝试使用stage.showandwait()而不是stage.show()

show()方法立即返回,而不考虑阶段的模式。如果需要阻止调用方直到隐藏(关闭)模态阶段,请使用showandwait()方法。在使阶段可见之前,必须初始化模态。

-Stage的JavaFX文档

 类似资料:
  • 问题内容: 在Swing中,您可以简单地用于在关闭窗口时关闭整个应用程序。 但是,在JavaFX中找不到等效项。我有多个打开的窗口,如果一个窗口关闭,我想关闭整个应用程序。用JavaFX做到这一点的方法是什么? 编辑: 我了解可以覆盖以在窗口关闭时执行一些操作。问题是应该执行什么操作才能终止整个应用程序? 类中定义的方法不执行任何操作。 问题答案: 当最后一个关闭时,应用程序自动停止。目前,您的类

  • 嗨,我为AWT窗口创建了这个java代码 当我按下X按钮试图关闭窗户时,什么也没发生。窗户一直开着。我对示例代码做了以下更改:公共类labelExample extends Frame implements ActionListener{ 我添加了新的awt-frame f,名称为“Label example”。 Frame f;Frame f=新框架(“Label example”);并添加了此

  • 在我的应用程序上,一些更改有一个主窗口和一个辅助窗口。当用户想要关闭应用程序(=主窗口)时,我想要求用户确认关闭更改的辅助窗口,以避免丢失更改。 这段代码在我的主类中。 我的问题是,我无法从主类检查辅助窗口是否打开。 注意:正在我的maincontroller类上创建辅助窗口。 谢啦!

  • sembako.java这个主类 RootSceneController.java @fxml private void loginAction(ActionEvent事件)抛出IOException{ } 如何关闭RootSceneController.java中的窗口Sembako场景 对不起,我的英语不好

  • 我用JAVA开发了硒自动化框架,我面临一个问题。当我点击任何按钮说过滤器或清除过滤器应用程序显示一个加载窗口,之后,我们能够执行下一个动作。我添加了以下代码,等待加载窗口可见假,但它不起作用。 在Web元素中,我传递了那个加载窗口XPATH。每次代码没有等待窗口关闭开始单击按钮并抛出异常 未知错误:元素...在点(178,391)不可单击。其他元素将收到点击: 我还为click添加了代码 请帮助我

  • 对于JavaFX,通常是: 是否有方法检测TornadoFX视图关闭?