3
A
回答
6
SwingWorker
是專門設計來做到這一點的。
它允許您運行不會阻止GUI的任務,然後返回值並在完成後更新GUI。
Java有關於如何使用SwingWorker
的great tutorial。
基本上做數據庫拉doInBackground()
方法。並且,在done()
方法中,更新您的GUI。
5
由於jinguy提到SwingWorker應該是你看的第一個地方。 Wikipedia在所有地方都有一些有趣的例子,在處理JavaDocs之前可能很好看。
2
正如jjnguy提到的那樣,SwingWorker有助於在這裏抽象出複雜性,但基本上你可以在新線程中完成工作,並且當方法返回時,需要更新擺動線程中的GUI。如果您不使用SwingWorker,則基礎方法是SwingUtilities(或EventQueue).invokeLater(Runnable)。
不要更新擺動隊列之外的任何與Swing相關的(包括模型),不可預知的事情將會發生。並且不要試圖持續引用隊列並使用它,因爲隊列被暫停和替換(例如,如果您打開模型對話框)。
相關問題
- 1. C# - 將數據從ThreadPool線程傳遞迴主線程
- 2. 從Swing界面進行Swing啓動模擬並從線程寫入。怎麼樣?
- 3. Java swing用戶界面崩潰調試
- 4. 將值傳遞迴套房頁面
- 5. swing:倒數計時器的用戶界面
- 6. 網絡線程阻塞用戶界面
- 7. wpf線程更新用戶界面
- 8. Android線程和用戶界面
- 9. 如何將值從parent.aspx頁面傳遞給用戶控件?
- 10. 從PHP傳遞數據變量jQuery用戶界面對話框
- 11. 使用Handler將數據從bg線程傳遞到UI線程?
- 12. iPhone用戶界面設計
- 13. 將返回值從php傳遞到js
- 14. 單擊線程傳遞值
- 15. 從java中的域中分離用戶界面Swing
- 16. 將數據從GUI傳遞到Swing中的事件派發線程
- 17. 如何將信息從ThreadPool.QueueUserWorkItem傳遞迴UI線程?
- 18. 如何從線程發回數據回主界面?
- 19. 從工作線程操縱用戶界面
- 20. 從另一個線程更改用戶界面
- 21. Android從第二個線程訪問用戶界面
- 22. 如何從主/用戶界面以外的線程訪問soundPool?
- 23. 從線程上重新更新用戶界面
- 24. 如何將對象從Android中的其他線程傳遞迴主線程?
- 25. C#如何將對象從工作線程傳遞迴主線程?
- 26. 將Edittext傳遞給線程
- 27. 將值傳遞給頁面
- 28. 傳統應用程序在非用戶界面線程中創建對話框
- 29. 將用戶界面劃分爲asp.net mvc視圖
- 30. RxJava計劃對主線程
我永遠不知道維基百科在`SwingWorker`上有這麼棒的文章。我喜歡你,但我不想失去我在排序順序上的位置......(對不起) – jjnguy 2009-07-28 19:01:11