本文介紹了Java-如何用顏色填充Windows L&;amp;F按鈕,而不僅僅是邊框?的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我正在用Windows 7上的Java做幾個(gè)圖形用戶界面測(cè)試。我想使用Windows的外觀,因?yàn)镴ava的默認(rèn)”金屬”用戶界面非常難看。當(dāng)我設(shè)置按鈕的背景色時(shí),它只顯示按鈕周圍的邊框,而不是填充整個(gè)背景。
public class GUITest {
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch(Exception e) {} // I know, not a good idea, but it's just a test
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new FlowLayout());
JButton button = new JButton("Windows L&F");
button.setFocusable(false);
button.setBackground(Color.GREEN.darker());
frame.add(button);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
結(jié)果如下:
鑒于我的目標(biāo)是這樣的東西(但不使用金屬L&;F):
有沒有辦法用Windows L&;F來實(shí)現(xiàn)這一點(diǎn),或者它根本不是內(nèi)置的?
推薦答案
某些Plafs支持(自定義)彩色按鈕。其他人則沒有。
要實(shí)現(xiàn)您似乎想要的效果,一種方法是將按鈕文本寫在帶有綠色BG的圖像中,并將該圖像用作不帶文本的按鈕圖標(biāo)。
這篇關(guān)于Java-如何用顏色填充Windows L&;amp;F按鈕,而不僅僅是邊框?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,