带有值的JProgressBar

时间:2014-04-09 22:31:39

标签: java swing text jlabel jprogressbar

如何在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);

这是我的进度条的代码。

2 个答案:

答案 0 :(得分:3)

如上所述the documentation for JProgressBar(我假设您使用的是Java 6),您可以使用getValue()方法从{{1}中检索进度条的当前值}}

所以,

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); 包含字符串" x / y",其中 x text y 是相同的最大值。

如果您想在进度条中绘制此内容,您可能会对JProgressBarsetString(String s)

感兴趣
setStringPainted(boolean b)

由于进度条的值会发生变化,因此每次值更改时都需要更新文本。

答案 1 :(得分:1)

如果我理解你的问题,我会认为这应该做的事情很简单:

progressBar.setString("Text Here!");