JProgressBar を使用する場合、パーセントではなく 0 から 32 までの数値を表示したいので、開始前は 0 と表示され、開始ボタンをクリックすると 1 、 2 、 3 ... 32 と表示されます。
どうやってするの ?
JProgressBar を使用する場合、パーセントではなく 0 から 32 までの数値を表示したいので、開始前は 0 と表示され、開始ボタンをクリックすると 1 、 2 、 3 ... 32 と表示されます。
どうやってするの ?
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);
}
}