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/

10-09 04:23