我已经尝试了好几个小时了,但没有得到任何结果:(如果有明显的错误,敬请原谅..
public void manual(int playerColor, boolean[] sw) {
for (int i = 0; i < 7 && sw[0] == false; i++) {
for (int j = 0; j < 6 && sw[0] == false; j++) {
int iValue = i;
int jValue = j;
GBoard[i][j].addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (playerColor == intBoard[iValue][jValue][1]) {
intBoard[iValue][jValue][2]++;
sw[0] = true;
}
}
});
}
}
if (sw[0] == false) {
manual(playerColor, sw);
}
}
由于某种原因,行动听众变成了循环。它应该在sw [0] = true之后结束,但是它继续进行下去。我确定问题出在动作侦听器上。当我单击其中一个按钮时,它确实输入了if语句,但是由于某种原因,它在到达动作侦听器的结尾后仍未完成,并变成了循环。