JProgressBar能够隐藏'bar'而不是'流体'

时间:2013-05-18 10:51:49

标签: java swing jprogressbar

我知道'流畅'不是最好的描述,但这就是我想象进度条内的绿色。

我只是想知道是否有可能只看到进度条中的绿色“流体”,而不是容纳“流体”的容器。

这样做的目的是在进度条下创建一个可以保持绿色“流畅”的艺术作品,而不是系统默认的UI保存这种流体。

编辑:

这是当前进度条的照片:

image

JFrame已开启INVISIBLE,所以您只能看到这个栏。 我想知道是否可以从GREY周围删除JProgressBar,只显示绿色。

3 个答案:

答案 0 :(得分:3)

通过 fluid ,您可能指的是BasicProgressBarUIpaintDeterminate()的实现中使用的绘画。 UI委托将所有boxRect填充ProgressBar.background,将boxRect的一部分填充ProgressBar.foreground。你可以

  • here所述,通过UIManager更改颜色,但代表没有义务使用您的设置。

  • 按照建议here实施您自己的ProgressBarUI

答案 1 :(得分:2)

http://docs.oracle.com/javase/6/docs/api/javax/swing/JProgressBar.html#paintBorder

你应该使用setBorderPainted来删除边框,我想这就是你想要的。

答案 2 :(得分:0)

我知道这是一个老问题,但发现它使用谷歌,我试图做同样的事情。我发现将背景设置为完美的透明效果,至少对于Nimbus L& F,没有对其他人进行测试。

progress.setBackground (new Color (0, 0, 0, 0));