2016-05-16 144 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 
}