- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想暂停 JavaFX 应用程序线程上方法的执行,并等待用户与 UI 进行交互。重要的是不要卡住 UI。
例子:
Button start = ...
Button resume = ...
start.setOnAction(evt -> {
System.out.println("starting");
start.setDisable(true);
System.out.println("please press resume button.");
pause();
System.out.println("done");
start.setDisable(false);
});
resume.setOnAction(evt -> resume());
pause()
和
resume()
方法?
pause();
等待。调用直到用户按下
resume
按钮和
resume
方法被调用。
最佳答案
您可以使用 Platform.enterNestedEventLoop
来做到这一点。暂停事件处理程序的执行和 Platform.exitNestedEventLoop
(自 JavaFX 9 起可用)恢复执行:
private final Object PAUSE_KEY = new Object();
private void pause() {
Platform.enterNestedEventLoop(PAUSE_KEY);
}
private void resume() {
Platform.exitNestedEventLoop(PAUSE_KEY, null);
}
Platform.enterNestedEventLoop
返回时
Platform.exitNestedEventLoop
使用作为第一个参数传递的相同参数调用。
关于javafx - 如何在不使用 showAndWait 的情况下等待 JavaFX 应用程序线程上的用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46369046/
当玩家赢得我创建的游戏时,我试图显示一个警报对话框。但是,我遇到了一个异常(exception): java.lang.IllegalStateException: showAndWait is no
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
我想暂停 JavaFX 应用程序线程上方法的执行,并等待用户与 UI 进行交互。重要的是不要卡住 UI。 例子: Button start = ... Button resume = ... star
在 JavaFx 中,我想在动画结束后显示模式对话框。出于某种原因,在动画结束后执行的 EventHandler 中调用 showAndWait 不起作用。显示了一个新窗口,但其中似乎没有绘制任何内容
JavaFX 应用程序有时会导致 Java VM 崩溃。根据崩溃日志,java框架不同,但有问题的框架与“C [libc.so.6+0x3c10d]”相同 其中一个与我的应用程序 Java 代码相关,
我是一名优秀的程序员,十分优秀!