Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change colors for JProgressBar with Nimbus?

does anyone know how to change the colors for JProgressBar when you use Nimbus LookAndFeel?

like image 636
Hassenboy Avatar asked Aug 24 '11 11:08

Hassenboy


1 Answers

I have overridden the whole nimbusOrange-Default Value, which change all ProgressBar-Colors and any other nimbusOrange. (InternalFrame - minimize Button)
here with nimbusBase (blue)

UIDefaults defaults = UIManager.getLookAndFeelDefaults();
defaults.put("nimbusOrange",defaults.get("nimbusBase"));

Better is to write a own Painter and set this to the UIManager via

UIManager.put("ProgressBar[Enabled].backgroundPainter", myPainter);

If You want to change the Color for only a single ProgressBar instance, you can use Per-component customization

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);
like image 112
oliholz Avatar answered Sep 22 '22 16:09

oliholz