设置JProgressBar文本的颜色

时间:2010-08-13 19:31:30

标签: swing jprogressbar

我有这些进度条:

Sample Bars

我正在尝试设置进度条的TEXT颜色,而不更改背景颜色或进度条本身的颜色。据我所知,setForeground()设置文本和条形颜色?有没有办法在没有另一个的情况下做一个?

2 个答案:

答案 0 :(得分:21)

啊哈 - 看起来我可以修改UI:

    setUI(new BasicProgressBarUI() {
      protected Color getSelectionBackground() { return Color.black; }
      protected Color getSelectionForeground() { return Color.white; }
    });

这有点令人困惑,因为前景和背景的使用并不直观。背景是条形图未覆盖时的文本颜色,前景是文本的颜色。

这是最终结果:

Colors adjusted

答案 1 :(得分:4)

通过UIDefaults消息,

ProgressBar.background is the background color
ProgressBar.foreground is the cell color
ProgressBar.selectionBackground is the text color outside cells
ProgressBar.selectionForeground is the text colot INSIDE cells

UIManager.put("ProgressBar.selectionForeground", Color.black);
UIManager.put("ProgressBar.selectionBackground", Color.black);