4
我试图改变Nimbus LAF(外观和感觉)中单个JProgressBar的颜色。该解决方案的工作,但它改变了所有JProgressBars的颜色:/如何更改Nimbus中单个JProgressBar的颜色?
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,还有很多事情我都要从链接中学习,你给我一次rega这件事情。我不知道这就是这么简单:-) –
这可能是可怕的,直到那时,当你知道在哪里使用标准颜色(XxxRenderer),当putNimbusColor(非compond)JComponents和Compoun&JButtons JComponents ... – mKorbel
感谢您的快速和有益的答复。现在一切都适用于我。 :D 对于任何未来的读者:如果你的编译器缺少“com.sun.java.swing.Painter.class”和/或“javax.swing.Painter.class”,你可以[download](http:// www .java2s.com/Code/JarDownload/org-netbeans-swing/org-netbeans-swing-tabcontrol.jar.zip)it here:http://www.java2s.com/Code/Jar/o/Downloadorgnetbeansswingtabcontroljar.htm – user1430180