如何模擬長時間運行的數據庫操作?我的要求是顯示一個JProgressBar對話框,直到操作完成。模擬長時間運行的操作
回答
使用後臺線程(例如由SwingWorker提供的後臺線程)來運行循環內的Thread.sleep從1到10的for循環。那麼如果它是一個確定模式的JProgressBar,你可以通過將10 *循環索引傳遞給進度條來更新它的值(當然,在Swing線程上EDT需要小心)。
編輯:
@詹姆斯Poulson芯片:如果您使用的是的SwingWorker對象,您會使用publish/process
方法和done
方法對EDT更新。如果你使用自己的後臺線程,你肯定會將任何一組Swing調用包裝在Runnable中,並使用invokeLater將它放在EDT上。
+1在工作人員的後臺線程上睡覺以模擬延遲是完全可以的,如[這裏]所示(http://stackoverflow.com/questions/4637215/can-a-progress-bar-be-used-in-a -class-外主/ 4637725#4637725)。 – trashgod
@HovercraftFullOfEels謝謝你的回答。不得不問,我如何確保在EDT上更新組件?我使用invokeLater嗎? –
@JamesPoulson:請參閱編輯我的答案。 –
- 1. C/C++ - 模擬長時間運行操作
- 2. 異步操作 - 確定操作是否長時間運行
- 3. 長時間運行文件操作和執行超時
- 4. VBA行操作執行時間太長
- 5. 模擬長時間運行的Oracle數據庫查詢
- 6. ,是長時間運行的靜態操作的瓶頸嗎?
- 7. Azure Worker執行長時間運行操作失敗
- 8. 如何處理長時間運行的Web服務操作?
- 9. C#Winform的:與異步長時間運行操作等待
- 10. Web(asp.net)環境中的長時間運行操作(線程)
- 11. ASP.NET MVC和長時間運行的操作
- 12. 從Windows服務處理長時間運行的操作
- 13. 使用MOSS Publishing Infrastructure支持長時間運行的操作
- 14. Quartz.Net中的長時間運行作業
- 15. 長時間運行的作業Spring
- 16. Quartz.NET - 長時間運行的工作?
- 17. Servlets,長時間操作
- 18. 在.net中長時間運行數據庫操作
- 19. 數據庫更新 - 長時間運行操作失敗
- 20. 斯卡拉演員:長時間運行io操作
- 21. ASP.NET Web API +長時間運行操作取消
- 22. 使用AJAX進度條長時間運行Plone操作
- 23. 強制重繪之前長時間運行操作
- 24. testthat長時間運行測試模式
- 25. 長時間運行WF 4模式
- 26. 模擬退火在R:GenSA運行時間
- 27. AWS ECS長時間運行的作業規模在
- 28. OpenCPU中長時間運行作業的任務模型?
- 29. 調用其他長時間運行的工作流服務的長時間運行的工作流服務
- 30. 運行時間檢測 - 原子操作
您可以在任何方法內使用'Thread.sleep(millis)'來模擬長時間運行的過程。是不是那麼簡單:-) – home
@home,並不那麼簡單。你不能在美國東部時間睡覺。 – mre
你的意思是?:http://stackoverflow.com/questions/1389586/simulation-of-long-running-oracle-db-query –