I had a problem earlier我试图在我的画布上添加对象但是SwingUtilities.invokeLater还没有真正完成它的工作。我真的需要能够可靠地向这个JPanel添加东西,但我仍然遇到同样的错误。是否有更好的替代以下代码?
private void startNewGame() {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
gameFrame = new InvadersGameFrame();
}
});
}
答案 0 :(得分:3)
请参阅SwingUtilities.invokeAndWait(Runnable)
:
导致
doRun.run()
在AWT事件派发线程上执行同步。此调用将阻塞,直到所有待处理的AWT事件都已处理完毕,并且(然后)doRun.run()
返回。当应用程序线程需要更新GUI时,应该使用此方法。