1
當我使用JProgressBar,我希望它顯示一個數字從0到32,而不是百分比,所以在它開始之前,它會顯示0,在我點擊開始按鈕後,它會顯示1,2,3 ... 32如何在Java的JProgressBar中顯示沒有%符號的數字?
怎麼辦?
當我使用JProgressBar,我希望它顯示一個數字從0到32,而不是百分比,所以在它開始之前,它會顯示0,在我點擊開始按鈕後,它會顯示1,2,3 ... 32如何在Java的JProgressBar中顯示沒有%符號的數字?
怎麼辦?
一種方式來做到這一點是通過覆蓋的JProgressBar
的getString()
方法:
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);
}
}