达到100%后,将jprogressbar的值设置为零

时间:2011-03-22 06:26:41

标签: java netbeans jprogressbar

如何在达到100%后将jprogressbar的值设置为零?

我使用了以下代码,但没有完全符合我的要求:

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    Thread runner = new Thread(){
        @Override
        public void run(){
            counter = pb_MINIMUM;
            while(counter <= pb_MAXIMUM){
                Runnable runme = new Runnable(){
                    public void run(){
                        jProgressBar1.setValue(counter);
                    }
                };
                SwingUtilities.invokeLater(runme);
                counter++;
                try{
                    Thread.sleep(100);
                }catch(Exception e){
                }
            }
        }
    };
    runner.start();
    if(jProgressBar1.getMaximum()==pb_MAXIMUM){
        jProgressBar1.setValue(0);
    }
}

感谢我能得到的任何帮助......

1 个答案:

答案 0 :(得分:2)

您启动线程后会直接调用setValue(0)(执行所有工作并增加进度条的值)。此时尚未完成任何工作,并且该方法不会等待您的线程完成。相反,您可以在while循环之后立即包含代码(与您在内部相同但值为零)。