【问题标题】:JProgressBar Changing Bar ColorJProgressBar 更改条形颜色
【发布时间】:2017-05-24 18:00:01
【问题描述】:

我一直在尝试更改 jProgressBar 颜色,但一直是橙色

这里是属性

运行它

我想将颜色更改为绿色或其他颜色,但不知道如何

【问题讨论】:

  • JProgressBar 包装了一个特定于操作系统的 UI ProgressBarUI,它试图匹配平台的外观。您也许可以覆盖 getUI() 以提供您自己的用户界面,或更改 L&F 的属性。
  • 是的,但是怎么做???
  • 请同时提供相关的代码部分,如果可能的话尽量举一个最小的例子。通过这样做,您可以大大提高问题的质量。另外,您似乎正在使用某种 GUI 管理器,您能告诉我们您到底在使用什么吗?

标签: java user-interface jprogressbar


【解决方案1】:

试试这个教学示例。它将修改 JProgressBar 的 4 种颜色。 可能有点难以看到文本颜色,但这是一张图片 预计。条形为黑底红字,文字颜色为黄色和蓝色。

import java.awt.Color;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
import javax.swing.UIManager;

public class JProgressBarTest {

public static void main(final String[] args) {
    UIManager.put("ProgressBar.background", Color.BLACK);
    UIManager.put("ProgressBar.foreground", Color.RED);
    UIManager.put("ProgressBar.selectionBackground", Color.YELLOW);
    UIManager.put("ProgressBar.selectionForeground", Color.BLUE);
    final JProgressBar progressBar = new JProgressBar();

    new JFrame() {
        {
            getContentPane().setLayout(new FlowLayout());
            getContentPane().add(progressBar);
            progressBar.setValue(50);
            progressBar.setStringPainted(true);
            setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            setSize(400, 200);
            setLocationRelativeTo(null);
            setVisible(true);
        }
    };
    }
}

【讨论】:

  • 很好的展示!然而,可能 OP 对此无能为力,因为他似乎使用某种 GUI 管理器,并且可能不知道如何切换到 代码视图。也许我们也应该找出他在使用什么,然后告诉他如何切换,以便他可以使用您的代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
  • 2013-05-10
  • 2011-08-03
  • 2012-01-19
  • 2016-02-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多