我需要在單獨的線程中的Swing應用程序中運行一些方法。使用SwingWorker和SwingUtilities.invokeLater有什麼區別。我應該使用哪一個在Swing應用程序中運行線程?我不能在SwingWorker和SwingUtilities.invokeLater之間的區別
http://java.sun.com/docs/books/tutorial/uiswing/concurrency/index.html
我需要在單獨的線程中的Swing應用程序中運行一些方法。使用SwingWorker和SwingUtilities.invokeLater有什麼區別。我應該使用哪一個在Swing應用程序中運行線程?我不能在SwingWorker和SwingUtilities.invokeLater之間的區別
http://java.sun.com/docs/books/tutorial/uiswing/concurrency/index.html
SwingUtilities.invokeLater
找到的教程確切信息是用來如果有必須在美國東部時間運行的東西。
如果您有一個長期運行的任務,您需要使用SwingWorker
,因爲它不在EDT上運行,因此不會在GUI運行時導致GUI凍結。
看起來你會想:當你需要監視長時間運行的後臺進程的狀態
使用SwingUtilities.invokeLater
,如果你只是想短期任務
使用SwingWorker
運行但不需要反饋。有點像一個忘不了的火。只要記住它將在AWT事件分派線程中運行,這樣您的應用程序就不會在任務運行時處理任何事件。
謝謝。這一般是我的想法,但我需要確認 – 2010-03-18 17:17:22