0

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);
    }
}

私がここに来ることができた助けをありがとう...

4

1 に答える 1

2

の呼び出しはsetValue(0)、スレッドを開始した直後に発生します (これにより、すべての作業が行われ、進行状況バーの値が増加します)。この時点ではまだ作業は行われておらず、メソッドはスレッドの完了を待ちません。代わりに、while ループの直後にコードを含めることができます (内部で行うのと同じですが、値はゼロです)。

于 2011-03-22T06:36:28.520 に答える