2014-04-09 63 views
1

如何顯示JProgressBar中的文字?即「000/100」帶值的JProgress Bar

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); 

這是我的進度條代碼。

+0

你說「JProgressBar'內的文本,但你只是想看看價值,還是你想創建一個字符串」000/100「? – Whymarrh

+0

誰在JProgressBar中獲得文本?這聽起來像是指另一個問題或答案。沒有人知道您指的是哪個帖子。但是,請在此處包含有關此問題的完整說明,而不僅僅是鏈接到其他帖子。問題應該是自成體系的。 –

回答

3

如前所述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」,其中XJProgressBar的當前值y是相同的最大值。

如果你想得出這樣的進度條裏面,你可能有興趣在setString(String s)setStringPainted(boolean b)

timerBar.setStringPainted(true); 
timerBar.setString(text); 

而且,由於進度條的值將被改變,你將要更新的文本每次值改變。

1

如果我正確理解你的問題,我會想一些簡單本應該做的工作:

progressBar.setString("Text Here!"); 
+0

如果這回答了您的問題,請將其標記爲已回答,以便其他人知道他們何時查看您的問題。 – javaGeek