0
如何將JProgressBar
與Runnable
或Callable
線程結合使用,而不是SwingWorker
類?jProgressBar vs Runnable或Callable線程?
我想有一個進度條,我可以通過一個正在運行的線程並能夠以百分比顯示它的進度!
如何將JProgressBar
與Runnable
或Callable
線程結合使用,而不是SwingWorker
類?jProgressBar vs Runnable或Callable線程?
我想有一個進度條,我可以通過一個正在運行的線程並能夠以百分比顯示它的進度!
從2005年開始,javalobby寫了一篇帖子,由Santhosh Kumar大師撰寫,演示瞭如何使用JProgressBar和Runnable。
您會如何知道runnable有多遠?可運行程序本身必須提供進度支持,否則您可以在進度條組件中獲得的所有值均爲0%或100%。你可以想出一個時間解決方案,使用以前記錄的時間來計算估計的進度... –
你可以做任何你想做的事情。關鍵是JProgressBar的更新必須在Event Dispatch Thread上完成。使用SwingWorker的關鍵是,這是爲你做的。長時間運行的代碼在單獨的線程中運行,然後在進度欄需要更新時調用process()方法。 process()方法在EDT上運行。如果您使用自己的線程,則當您要更新進度欄時,您有責任使用SwingUtilities.invokeLater()。 – camickr