我很难理解这个简单的代码:任何人都可以解释我这个javax swing方法吗?
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
可有人请给我解释一下它是如何工作(简单地说,因为我是新手)?此短代码是此larger code的一部分。
更具体地讲,我有以下问题:
- 是否“公共无效的run”定义一个新的方法?如果是这种情况,为什么它在另一种方法中定义(请参阅“较大的代码”以供参考)?
- 如果“public void run”定义了一个新方法,那么定义只包含一行代码的方法(createAndShowGUI)的原因是什么?
- “invokeLater”是做什么的?这对我来说实际上是最复杂的问题。
我想再强调一次,我是一个新手,使用“特殊”和“技术”的话会产生更多的问题。
如果您决定帮助我,请提前致谢!
它不是“Swing线程”。 AWT事件调度线程(EDT)根本不依赖于Swing。 'java.awt.EventQueue.invokeLater'更有意义。 – 2010-01-30 19:06:17
('SwingUtilities.invokeLater'仅用于与Java 1.1兼容(1998年被Java2版本1.2取代)。 – 2010-01-30 19:08:26
'SwingUtilities。invokeLater'和'EventQueue.invokeLater'都在1.2中引入。它们在1.3中变得相当。两者都不被弃用。而AWT-Swing的区别与初学者问题并不相关,所以是的,EDT可以称为“Swing线程”。 – finnw 2010-01-31 02:58:14