I had a problem earlier我曾尝试在其画布中添加对象,但SwingUtilities.invokeLater尚未真正完成其工作。我确实需要能够可靠地向此JPanel添加内容,但是我一直遇到这个错误。下面的代码有更好的替代方法吗?
private void startNewGame() {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
gameFrame = new InvadersGameFrame();
}
});
}
最佳答案
请参见SwingUtilities.invokeAndWait(Runnable)
其中:
使doRun.run()
在AWT事件分配线程上同步执行。该调用将阻塞,直到处理完所有未决的AWT事件,然后返回doRun.run()
。当应用程序线程需要更新GUI时,应使用此方法。
关于java - SwingUtilities.invokeLater…是否有invokeNow?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23209388/