当前位置:  开发笔记 > 编程语言 > 正文

在JavaFX中强制立即绘制

如何解决《在JavaFX中强制立即绘制》经验,为你挑选了1个好方法。

有没有办法在继续之前强制JavaFX应用程序重绘自己?类似于Swing Panel的paint(Graphic g)方法(我可能会在那里得到错误的关键字).

请考虑以下示例:您编写TicTacToe应用程序以及计算机播放器所需的AI.你希望有能力向两位电脑玩家展示它.也许你在计算机转弯之间暂停了两秒钟,让它具有逼真的效果.当你点击"开始"按钮时,会有一个很大的无响应停顿(9个回合所需的时间,假装计算机暂停'决定')然后突然应用程序的视觉效果更新完成游戏的状态.

一旦应用程序的线程中的处理完成,似乎JavaFX重新绘制了?我在这里不太确定.

谢谢!



1> Honza..:

你是对的.JavaFX是事件驱动和单线程的.这意味着不能同时完成重绘和事件响应.长时间运行的任务应该在单独的线程上执行,这样它们就不会阻止UI的呈现.当任务完成后,它可以通过调用FX.deferAction()来同步回FX线程,这将简单地执行主要代码线.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有