2016-05-16 141 views
0

我非常瞭解如何做到這一點,如果您只有一個按鈕,但對於計算機科學項目我正在製作基諾遊戲GUI。爲了讓我做了這些Jbutton for循環,像這樣:如何更改特定JButton的顏色

for(int i=1 ; i <= 80; i++) 
    { 
    num.add(1) ; 
    btn = new JButton(String.valueOf(i)) ; 
    btn.setBackground(Color.BLUE); 
    btn.setForeground(Color.YELLOW); 
    btn.setActionCommand(String.valueOf(i)); 
    btn.addActionListener(new ButtonHandler()); 
    panel.add(btn); 
    } 

public class ButtonHandler implements ActionListener { 

@Override 
public void actionPerformed(ActionEvent event) { 
//Button Code if I click one button it goes here. I have set ID's via  ActionCommand 

} 

} 

https://i.gyazo.com/637f74422de5f4bf6e52155dcdfbd482.png [JButton的輸出]

所以我想做的事,是因爲當我點擊了一個具體的數字,它變成紅色所以它會表明它已被點擊。要做到這一點,我需要定義每個按鈕嗎?或者我可以以這種方式調整一個按鈕!任何信息將不勝感激!

  • 扎卡里·史密斯
+0

您可以發佈代碼爲'ButtonHandler'? – Mshnik

+0

什麼都不應該改變,但我添加它 –

回答

1

如果你想你點擊後變成紅色(並保持紅色),你可以添加到ButtonHandler

public class ButtonHandler implements ActionListener { 

    @Override 
    public void actionPerformed(ActionEvent event) { 
     JButton b = (JButton)event.getSource(); 
     b.setBackground(Color.RED); 
    } 

    //Button Code if I click one button it goes here. I have set ID's via  ActionCommand 
}