我试图改变Nimbus LAF(外观)中单个JProgressBar的颜色。这种解决方案确实有效,但它会改变所有JProgressBars的颜色:/
UIDefaults defaults = UIManager.getLookAndFeelDefaults();
defaults.put("nimbusOrange",defaults.get("nimbusBase"));
在这个讨论串中,有另一种解决方案可以为每个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"替换该方法,但也没有成功。