【发布时间】:2017-04-27 01:52:06
【问题描述】:
我有一个显示结果条形图的程序。我想等到用户关闭条形图才能继续下一行代码,询问他们是否要为图表输入新信息。
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 会立即弹出问题。如果我点击否,则图表显示,但程序结束。如果我点击是,程序会循环回到之前的对话框窗口,但在另一个对话框结束之前不会显示图表。
我想等到用户关闭条形图后再提示用户。在这一点上我很沮丧,我什至会人为地暂停一下,比如 wait(5000) 之类的,尽管我也无法让它发挥作用。
我已经阅读了很多内容,但还没有找到真正有效的解决方案。最接近的问题是:JavaFX wait till stage has been closed
从我读到的内容来看,我实际上不能让程序等待,但可以设置在窗口关闭后发生的操作。但是按照那里的建议只是导致舞台打开然后立即关闭。我已经经历过其他几个兔子洞,但都无济于事。
【问题讨论】:
-
旁白:不要混合使用 Swing 和 JavaFX(除非你真的必须这样做)。此代码可能会在某些系统上挂起,因为您在 AWT 事件分派线程以外的线程上显示一个摆动窗口(@987654325@)。请改用
Alert。 -
@Chris,我已经找到了您建议的主题并在发布之前尝试过。不幸的是,它没有达到我想要的效果。
标签: java javafx user-input joptionpane