установите значение jprogressbar равным нулю после достижения 100% - PullRequest
0 голосов
/ 22 марта 2011

как установить значение jprogressbar в ноль после достижения 100%?

Я использовал следующий код, но не сделал именно то, что хочу:

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 Ответ

2 голосов
/ 22 марта 2011

Ваш вызов setValue(0) происходит сразу после того, как вы запустили поток (который выполняет всю работу и увеличивает значение индикатора выполнения). В настоящее время работа еще не выполнена, и метод не ожидает завершения вашего потока. Вместо этого вы можете просто включить код сразу после цикла while (так же, как вы делаете это внутри, но со значением ноль).

...