1

JProgressBar を使用する場合、パーセントではなく 0 から 32 までの数値を表示したいので、開始前は 0 と表示され、開始ボタンをクリックすると 1 、 2 、 3 ... 32 と表示されます。

どうやってするの ?

4

1 に答える 1

0

getString()これを行う 1 つの方法は、次のメソッドをオーバーライドすることですJProgressBar

public class CustomProgressBar extends javax.swing.JProgressBar {

    @Override
    public String getString() {
        return getValue() + "";
    }

}

最小値と最大値をそれぞれ 0 と 32 に設定し、setValue()メソッドを使用して進行状況の値を設定すると、進行状況バーには 0 から 32 までの整数が表示されます。

そして、ここに実際の例があります:

import javax.swing.JOptionPane;
import javax.swing.SwingWorker;

public class ProgressBarExample {

    public static void main(String[] args) {
        final CustomProgressBar customProgressBar = new CustomProgressBar();
        customProgressBar.setMaximum(32);
        customProgressBar.setStringPainted(true);
        new SwingWorker<Void, Void>() {
            @Override
            protected Void doInBackground() throws Exception {
                int value = 0;
                Thread.sleep(1500);
                while (value < customProgressBar.getMaximum()) {
                    Thread.sleep(250);
                    value ++;
                    customProgressBar.setValue(value);
                }
                return null;
            }
        }.execute();
        JOptionPane.showMessageDialog(null, customProgressBar, "Progress bar example", JOptionPane.PLAIN_MESSAGE);
    }

}
于 2013-08-05T16:11:23.177 に答える