2011-10-22 76 views
5

如何設置JButton的顏色?如何設置Jbutton的顏色

我已經試過這樣:

button.setBackground(Color.red); 

,但沒有成功。這只是改變了按鈕邊框的顏色。 我又試圖改寫paintComponents

public void paintComponent(Graphics g) { 
    g.setColor(Color.GREEN); 
    g.fillRect(0, 0, getSize().width, getSize().height); 
} 

,但現在我沒有看到將JButton

回答

6

而影響了你的按鈕,最好的辦法是使用ImageIcons而不是文本。 您可以使用Gimp來設計它們。

確保背景是透明的

button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/myimage.png"))); 

這是一個禁用button.setDisabledIcon(...按鈕:

enter image description here

這是一個使能按鈕,而不是按壓:

enter image description here

這是一個按下啓用按鈕:

enter image description here

按下後的背景顏色變化由Swing完成。你只需要2張圖片。

+0

是啊我也試過,但是當我用整個按鈕的圖標時,當按下按鈕時沒有圖形動作(顏色的一些變化)。 – hudi

+0

這裏的小技巧是你應該使圖像的背景透明。 –

+0

+1,但我不知道Gimp與它有什麼關係。您可以在運行時在大約5行代碼中生成純色圖像。 –