Swing中的Java任务进度条

Swing中的Java任务进度条,java,swing,jprogressbar,Java,Swing,Jprogressbar,我需要一个关于进度条的非常简单(框架)的教程,用于在Java中开发GUI。进度条可以是“不确定”的,理想情况下有一个可更新的文本标签 下面是一些框架代码,我希望有人能够对其进行扩展,使其能够正常工作 class MyFunView extends FrameView { // class vars and other stuff... @Action public void excitingButtonPressed() { /* I have n files to

我需要一个关于进度条的非常简单(框架)的教程,用于在Java中开发GUI。进度条可以是“不确定”的,理想情况下有一个可更新的文本标签

下面是一些框架代码,我希望有人能够对其进行扩展,使其能够正常工作

class MyFunView extends FrameView {

  // class vars and other stuff...

  @Action
  public void excitingButtonPressed() {

     /* I have n files to download */
     // Download file 1, set progress bar status to "downloading file 1"
     // ...
     // Download file n, set progress bar status to "downloading file 2"

  }

} 
基本上,我应该如何包装我的下载代码?(我知道需要某种类型的任务子类?)

非常感谢

编辑:

我们都只有这么多宝贵的时间活着,而且没有一种方法可以像我希望的那样用很少的代码或时间完成,所以我不会使用进度条

我需要一个关于进度条的非常简单(框架)的教程,用于在Java中开发GUI

您可以与

另一种方法是执行任务(例如,
Runnable
),并定期更新
JProgressBar
。不过要注意,Swing中的任何UI操作都必须在服务器上完成
SwingWorker
具有处理此细节的良好特性。您自己的解决方案必须使用
SwingUtilities.invokeLater
,。例如:

SwingUtilities.invokeLater(new Runnable() {
    public void run() {
        progressBar.setValue(progressCounter++);
    }
});

一个愚蠢的东西有很多代码,不是吗?也许带有
PropertyChangeListener
SwingWorker
最终是一个更好的解决方案…

“我需要一个关于进度条的非常简单(框架)的教程”,给你:。“这里有一些框架代码,我希望有人能扩展到”你的预算是多少?顺便说一句-
下载文件..
看看这个。它是为它而做的,并且应该给出实际进展的指示。@B.VB。在编辑中写的,因为我认为你忘了点击…你是如何在这么短的时间内写出如此惊人的列表的?!?不用谢。我的回报来自于看到你的答案“一个愚蠢的东西有很多代码,不是吗?”-是的,所以去他的进度条。。不值得,抱歉的用户。好吧,它仍然可以在
PrepertyChangeListener
-但是有一个不同类型的样板文件(listener本身,没有
invokeLater
)。@Anonymous我认为OP需要解释,或者,见鬼,为什么只有我的投票