如何在JProgressBar
中显示文本?即“ 000/100”
progPanel.setBorder(BorderFactory. createEmptyBorder(10,10,10,10));
timerBar = new JProgressBar(0,100);
timerBar.setOrientation(JProgressBar.VERTICAL);
timerBarLabel = new JLabel("Play");
timerBarLabel.setForeground(Color.white);
progPanel.add(timerBarLabel);
progPanel.add(timerBar);
这是我的进度条代码。
最佳答案
如the documentation for JProgressBar所述(假设您使用的是Java 6),可以使用getValue()
方法从BoundedRangeModel
检索进度条的当前值。
所以,
int maximum = timerBar.getMaximum();
int value = timerBar.getValue(); // This will be the value from 0 to 100 inclusive
String text = String.format("%d/%d", value, maximum);
上面的结果将导致
text
包含字符串“ x / y”,其中x是JProgressBar
的当前值,而y是该值的最大值。如果您想在进度栏中绘制它,您可能会对
setString(String s)
和setStringPainted(boolean b)
感兴趣,timerBar.setStringPainted(true);
timerBar.setString(text);
并且由于进度条的值将更改,因此您将需要在每次更改值时更新文本。