我多次听说 Java Swing 线程模型是错误的。我不完全理解为什么,我知道问题与您可以Drawable
从主 UI 线程以外的另一个线程绘制 a 的事实有关。我知道有一些实用功能,例如SwingUtilities.invokeAndWait
,SwingUtilities.invokeLater
可以让您在 a 中进行绘画Runnable
,而后者又由 Event Dispatcher 线程运行。我想这样可以确保绘制是同步完成的,并且不会使缓冲区处于不一致的状态。
我的问题是:“好”的 UI 工具包表现如何?采用了哪些解决方案?