我有一個swing工作器,在後臺計算,同時更新JFrame中的progressBar。如何等待SwingWorker完成?
如何讓我的主線程等待doInBackground()完成?
我知道我可以把東西放在done()方法中,但我想知道是否有辦法讓程序等待(該線程是正確的)。
類似於模態JDialog會做的事情。
所以......
SwingWorker a = new SwingWorker();
a.execute
doOtherStuff();
doOtherStuff只有doInBackground跑後完成,但沒有把該方法在SwingWorker類的實現()方法。
SwingWorker代表「異步」操作。有了這個範例,應該在回調中處理「下一步」的事情 - 否則,將它用作異步事件源購買的東西很少。 JDialogs本身就是可怕的黑客..不是我推薦試圖模仿的東西。 – 2013-02-13 03:44:31