诀窍是,当swing呼叫您时,它将始终位于EDT中,因此您不必担心它。
但是,如果您处于计时器或由其他外部事件,主线程或您创建的任何其他线程触发的动作中,那么是的,您必须使用invokeLater或invokeAndWait。
换句话说,yes swing会自动执行“ *** 作”。极少需要使用invokeXx,以至于如果在内部执行swing,将会浪费太多时间。
许多Java程序员从来没有弄清楚这个问题,并且在绘制GUI时可能会引起一些非常棘手的难以发现的问题。我确实希望在您不使用EDT进行调用时,swing引发了一个例外-
如果在Java中使用Java,它将在专业GUI中享有更好的声誉,因为那里的废话少了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)