我很難理解這個簡單的代碼:任何人都可以解釋我這個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