gpt4 book ai didi

java - 如何更改 Nimbus 中单个 JProgressBar 的颜色?

转载 作者:搜寻专家 更新时间:2023-11-01 02:51:11 24 4
gpt4 key购买 nike

我正在尝试更改 Nimbus LAF(外观)中单个 JProgressBar 的颜色。这个解决方案确实有效,但它改变了所有 JProgressBars 的颜色:/

    UIDefaults defaults = UIManager.getLookAndFeelDefaults();
defaults.put("nimbusOrange",defaults.get("nimbusBase"));

在此thread是另一种单独更改每个 JProgressBar 颜色的解决方案:

    progress = new JProgressBar();
UIDefaults defaults = new UIDefaults();
defaults.put("ProgressBar[Enabled].backgroundPainter", new MyPainter());
progress.putClientProperty("Nimbus.Overrides.InheritDefaults", Boolean.TRUE);
progress.putClientProperty("Nimbus.Overrides", defaults);

不幸的是我无法让它工作。我不知道在哪里可以找到“MyPainter()”的库。所以我尝试用“defaults.get("nimbusBase")”和“Color.red”替换这个方法(不知道我在做什么)。也没用。

最佳答案

1.能否请您指出是哪一个

UIManager.put("ProgressBar.background", Color.orange);
UIManager.put("ProgressBar.foreground", Color.blue);
UIManager.put("ProgressBar.selectionBackground", Color.red);
UIManager.put("ProgressBar.selectionForeground", Color.green);

注意 MetalLookAndFeel 的有效 UIDefaults

2.然后请在Nimbus Defaults中搜索等价物

3.然后尝试覆盖 JProgressBar with logics and with this Painter

关于java - 如何更改 Nimbus 中单个 JProgressBar 的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10847308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com