java将ActionListeners添加到按钮数组中
我正在尝试编写我的第一个Swing应用程序,它是一个简单的Java国际象棋引擎。我已经制作了一个网格的按钮来代表正方形。看起来不错,但我在尝试向每个方块添加ActionListeners时遇到了一个问题。我想得到正方形的坐标,并在点击时将其打印到控制台。这就是我尝试的(我想我真的不明白ActionListeners是如何工作的):
// chessBoardSquares[][] is an 8x8 array of Jbuttons
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
chessBoardSquares[i][j].addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("x: "+i+"y: "+j);
}
});
}
}
# 1 楼答案
您需要在匿名内部类中使用字段或最终局部变量