如何更改特定JButton的颜色

时间:2016-05-16 21:32:58

标签: java

如果您只有一个按钮,我非常了解如何操作,但对于计算机科学项目,我正在制作一个基诺游戏GUI。为了使JButtons我像这样做了一个for循环:

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输出]

所以我想要做的是,当我点击一个特定的数字时,它会变成红色,这表示它已被点击。要做到这一点,我是否必须定义EACH按钮?或者我可以通过这种方式调整一个按钮!任何信息都将非常感谢!

  • Zachary Smith

1 个答案:

答案 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
}