swing:制作一个JProgressBar,上面贴着标签?

Jas*_*n S 1 java swing jprogressbar

我想使用a JProgressBar和扩充它来打印它的当前值以及图形条.

进度条

我猜测最好的方法是覆盖paintComponent:

@Override protected void paintComponent(Graphics g) {
// Let component paint first 
    super.paintComponent(g); 
// paint my contents next....
}
Run Code Online (Sandbox Code Playgroud)

但我不确定......有什么建议吗?

Jac*_*ack 8

我建议你使用自己的API:

public void setStringPainted(boolean b)
Run Code Online (Sandbox Code Playgroud)

设置stringPainted属性的值,该属性确定进度条是否应呈现进度字符串.默认值为false,表示不绘制任何字符串.某些外观可能不支持进度字符串,或者仅当进度条处于确定模式时才支持它们.

public void setString(String s)
Run Code Online (Sandbox Code Playgroud)

设置进度字符串的值.默认情况下,此字符串为null,表示使用简单百分比字符串的内置行为.如果您提供了自定义进度字符串并希望恢复为内置行为,请将字符串设置回null.仅当isStringPainted方法返回true时,才会绘制进度字符串.

参考总是一件好事.:)

请注意,为了在运行期间编辑值,您应该考虑ChangeListener附加到进度条.