1
我使用Nimbus LAF,我想更改一個簡單的JButton
的背景。Nimbus上的JButton背景LAF
JButton jbutton = new JButton("test");
jbutton.setBackground(Color.BLACK);
但是它不起作用,當我改變它的外觀和感覺時,它在Nimbus中不起作用。
我該怎麼辦?
感謝您的幫助。
我使用Nimbus LAF,我想更改一個簡單的JButton
的背景。Nimbus上的JButton背景LAF
JButton jbutton = new JButton("test");
jbutton.setBackground(Color.BLACK);
但是它不起作用,當我改變它的外觀和感覺時,它在Nimbus中不起作用。
我該怎麼辦?
感謝您的幫助。
Nimbus使用Painter繪製不同的樣式。默認情況下,按鈕具有不是單一顏色的漸變。參見按鈕:Nimbus Defaults List
您可以編寫自己的Painter並覆蓋默認設置。或者,您可以用「Button.background」鍵覆蓋背景顏色並使用Default 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);
順便說一句。在雨雲默認鍵「nimbusBase」將JButton基地,如果你改變這種顏色:
UIDefaults defaults = UIManager.getLookAndFeelDefaults();
defaults.put("nimbusBase", Color.RED);
然後更改使用靈氣defalut藍色或混合色到新的顏色,不僅按鍵的一切。
我找到了一個不錯雨雲主題創建,它可以顯示出改變雨雲默認顏色到所有組件的效果:http://aephyr.googlecode.com/svn/trunk
嗯...... WORKSFORME。 – kleopatra 2011-04-30 12:27:41
我應該工作,也許你必須改變LookAndFeel後調用'SwingUtilities.updateComponentTreeUI(jbutton);' – oliholz 2011-05-02 15:00:30