我正在尝试用java制作一个游戏,当按下按钮时我希望它更改图标以指示该按钮已被选择,然后当再次单击它时我想将其更改为原始图标以显示它已取消选择。
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == b[7][4] && selected == false)
{
b[7][4].setIcon(selected);
selected = true;
}
if(e.getSource() == b[7][4] && selected == true)
{
b[7][4].setIcon(king);
selected = false;
}
}
此代码目前按照我的意愿执行,但它同时运行,因此更改了图标,然后立即将其更改回原始图标。我怎样才能做到一次单击将其更改为选中
,然后第二次单击将其更改回king
图标?
最佳答案
在下一个 if
之前使用 else
来链接它们:
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == b[7][4] && selected == false)
{
b[7][4].setIcon(selected);
selected = true;
}
else if(e.getSource() == b[7][4] && selected == true)
{
b[7][4].setIcon(king);
selected = false;
}
}
这样,仅当第一个条件的计算结果为 false
时才检查第二个 if
子句。
关于java - 按钮事件上的actionPerformed混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28730739/