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