我正在尝试更改 Nimbus LAF(外观和感觉)中单个 JProgressBar 的颜色。这个解决方案确实有效,但它改变了所有 JProgressBars 的颜色:/
UIDefaults defaults = UIManager.getLookAndFeelDefaults();
defaults.put("nimbusOrange",defaults.get("nimbusBase"));
In this 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);
通知有效UIDefaults
for MetalLookAndFeel
,
2.然后请在以下位置搜索同等内容Nimbus 默认值
3.然后尝试覆盖具有逻辑和此 Painter 的 JProgressBar
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)