- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一组场景,其目的是在“安全”之后的某个时刻将它们保存到图像文件中。这里的“安全”意味着“在完成一些后端工作之后以及在场景完全绘制/渲染之后。”
需要考虑 FxApplication 线程的单线程性质:所有与 gui 相关的工作都需要在 FxApplication 线程上进行。因此,我不清楚如何执行需要访问图形上下文的任意 gui 相关操作。
javafx.application.Platform.runLater(runnable)
适用于短期操作。事实上,这就是我们启动单独场景的方式:每次调用 runLater
都有一个场景。效果很好。
Task
专门用于长时间运行的操作。但是任务应如何与 FxApplication 线程进行互操作?任务似乎没有任何“排队机制”来将工作放回进入 FxApplication 事件循环。
我们不应该尝试从任务中执行与 GUI 相关的操作 - 这会违反 FxApplication 线程的职责 - 并导致竞争条件。
请注意以下问题Platform.runLater and Task in JavaFX没有解决这种情况,因为显示的 GUI 操作:
bar.setProgress(counter/1000000.0);
是一个“内置”。我们需要进行任意 gui 操作。
..
因此,我们将不胜感激如何正确排序工作的概述。
最佳答案
以下方法是在“后台”运行 GUI 操作的 AFA(只有一个 GUI 线程 - 因此 GUI 操作的“后台”任务是一个相对术语..)
更新该方法的大部分内容归功于@jewelsea https://gist.github.com/jewelsea/5072743 “在屏幕外渲染 300 个图表并将它们保存到 JavaFX 中的文件中。”
Platform.runLater
中启动代码块任务
Platform.runLater
,其中包括:这种方法正在发挥作用:我可以看到窗口启动,然后在 GUI 仍然响应时发生后端操作:然后最终 - 一旦后端操作完成 - 然后执行其他 GUI 操作。
关于java - 如何在 JavaFX 中异步执行需要一些 GUI 操作的较长运行任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31906019/
我对如何在 Typescript 中对 API 进行建模有点困惑。 我正在尝试对 hexo 进行建模API,例如用法,看起来有点像这样: hexo.extend.tag.register(name,
我是一名优秀的程序员,十分优秀!