有没有办法在继续之前强制JavaFX应用程序重绘自己?类似于Swing Panel的paint(Graphic g)方法(我可能会在那里得到错误的关键字).
请考虑以下示例:您编写TicTacToe应用程序以及计算机播放器所需的AI.你希望有能力向两位电脑玩家展示它.也许你在计算机转弯之间暂停了两秒钟,让它具有逼真的效果.当你点击"开始"按钮时,会有一个很大的无响应停顿(9个回合所需的时间,假装计算机暂停'决定')然后突然应用程序的视觉效果更新完成游戏的状态.
一旦应用程序的线程中的处理完成,似乎JavaFX重新绘制了?我在这里不太确定.
谢谢!
你是对的.JavaFX是事件驱动和单线程的.这意味着不能同时完成重绘和事件响应.长时间运行的任务应该在单独的线程上执行,这样它们就不会阻止UI的呈现.当任务完成后,它可以通过调用FX.deferAction()来同步回FX线程,这将简单地执行主要代码线.