java - 如何更改特定 JButton 的颜色

标签 java

如果只有一个按钮,我非常清楚如何做到这一点,但对于计算机科学项目,我正在制作基诺游戏 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/

相关文章:

java - 如何使用 Bukkit API 调用类方法?

Java 录音和混音器设置

java - 具有相同接口(interface)的两个 EJB。这是一个好习惯吗?

java - 我如何使用自定义 java 库(来自 github)

java - 升级到Struts 2.3.32后出现404错误

java - JAX-RS,带有 JAXB @XmlTransient

java - 来自java的日期时间不同步(tomcat 7)

java - 获取页面中多次出现的div的xpath

java - 忽略符合条件的大小写

java - 使用 Jmockit 验证 FutureCallback 效果的最佳方法