如果只有一个按钮,我非常清楚如何做到这一点,但对于计算机科学项目,我正在制作基诺游戏 GUI。为了制作 JButton,我创建了一个 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 输出]
所以我想做的是,当我单击特定数字时,它会变成红色,以便表明它已被单击。为此,我必须定义每个按钮吗?或者我可以通过这种方式调整一个按钮吗?任何信息将不胜感激!
- 扎卡里·史密斯
最佳答案
如果您希望它在单击后变成红色(并保持红色),您可以将其添加到 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
}
关于java - 如何更改特定 JButton 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37263597/