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