从工作线程更新进度条

kah*_*ras 3 java swing swingworker jprogressbar

我正在构建一个从服务器下载N个元素的java程序.我想要一个工作进度条,显示"已经下载的元素"/ N百分比.现在,我通过向线程传递对GUI对象的引用来更新进度条值,但它使代码"丑陋"(GUI类创建线程,其中包含对GUI本身的引用,创建一种循环).有没有更好的方法呢?

tra*_*god 5

SwingWorker如本例所示,在这种情况下有一些优点.