2012-06-01 3 views
4

Я пытаюсь изменить цвет одного JProgressBar в Nimbus LAF (Look And Feel). Это решение делает работу, но она изменяет цвета ВСЕХ JProgressBars:/Как изменить цвет одного 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». Не работает.

ответ

4

1.can вы, пожалуйста, указать, какой один из

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 для MetalLookAndFeel,

2.Then пожалуйста найти эквивалент в Nimbus Defaults

3.Then попытаться переопределить JProgressBar with logics and with this Painter

+0

+1 еще много вещей, которые я должен изучить из Связи, которую вы мне дали однажды, рега rding this thingy. Я не знал, что это так просто :-) –

+0

, что может быть ужасно, до момента, когда вы знаете, где использовать стандартный цвет (XxxRenderer), когда putNimbusColor (non-compond) JComponents и для Compoun & JButtons JComponents ... – mKorbel

+0

Благодарим вас за быстрый и полезный ответ. Теперь все работает для меня. : D Для будущих читателей: если ваш компилятор отсутствует «com.sun.java.swing.Painter.class» и/или «javax.swing.Painter.class», вы можете [скачать] (http: // www .java2s.com/Code/JarDownload/org-netbeans-swing/org-netbeans-swing-tabcontrol.jar.zip) здесь: http://www.java2s.com/Code/Jar/o/Downloadorgnetbeansswingtabcontroljar.htm – user1430180