我有这个2D JButton
数组(颜色为白色),而我想要做的就是当我点击一个正方形时,它会变成橙色。当我点击另一个正方形时,该正方形也变为橙色,但我点击的第一个正方形将恢复为正常的白色。如果没有将所有方块变成橙色,我该怎么做?
这是一个可视化:
顺便说一句,当我点击带数字的方块时,它们的颜色不会改变,可以将它们视为setEnabled(false)
按钮。我已经知道如何更改按钮的颜色,我只想知道颜色是如何在正方形之后传递的。
感谢任何可以提供帮助的人!
编辑:我的“尝试”,但它使我的所有null
有价值的按钮变为橙色。
button[i][j].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
for(int i = 0; i < button.length; i++)
for(int j = 0; j < button.length; j++){
if(g.gameBoard[i][j] == null){
//must find the position where the user clicks and make it orange
button[i][j].setBackground(Color.ORANGE);
}
}
}
});
答案 0 :(得分:3)
您可以使用JToggleButton并将它们放在ButtonGroup中,这样您就可以将它们视为一个组并将颜色设置为激活的颜色。
P.S。如果有任何问题,我将在接下来的24小时内与该主题保持联系。我将尝试解释更多。
答案 1 :(得分:-1)
if(e.getSource()== null)
{
//must find the position where the user clicks and make it orange
button[i][j].setBackground(Color.ORANGE);
}
在public void actionPerformed(ActionEvent e)方法中尝试以上代码。