Нимб использует Painter для рисования различных стилей. По умолчанию кнопка имеет градиент, а не один цвет. См. Кнопку: Список значений Nimbus по умолчанию
Вы можете написать свой собственный Painter и изменить настройки по умолчанию. Или вы переопределяете цвет фона с помощью кнопки «Button.background» и используете по умолчанию Painter.
UIDefaults overrides = new UIDefaults();
overrides.put("Button.background", Color.RED);
jbutton.putClientProperty("Nimbus.Overrides", overrides);
jbutton.putClientProperty("Nimbus.Overrides.InheritDefaults", Boolean.TRUE);
SwingUtilities.updateComponentTreeUI(jbutton);
Или, если вы хотите изменить цвет для всех кнопок, попробуйте:
UIDefaults defaults = UIManager.getLookAndFeelDefaults();
defaults.put("Button.background", Color.RED);
Btw. JButton базируется на ключе Nimbus по умолчанию «nimbusBase», если вы измените этот цвет:
UIDefaults defaults = UIManager.getLookAndFeelDefaults();
defaults.put( "nimbusBase", Color.RED );
затем вы заменяете все, что использует синеватый оттенок синего или вторичного цвета на ваш новый цвет, а не только кнопки.
Я нашел хорошего создателя тем Nimbus, который может показать эффект изменения цвета Nimbus по умолчанию для всех компонентов: http://aephyr.googlecode.com/svn/trunk