我将尝试为一个棋盘/跳棋游戏开发GUI界面。当我想给按钮添加Action监听器时,Netbeans似乎会给我一堆错误信息,并提供的建议貌似没有解决问题。
以下是相关代码的一部分:
以下是相关代码的一部分:
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
squares[i][j].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (!pressed) {
pressed = true;
fromR = i;
}
throw new UnsupportedOperationException("Not supported yet.");
}
});
}
}
squares[][]是存储所有按钮的数组;错误出现在fromR = i;
这一行。
是否有更好的方法将ActionListeners添加到存储在数组中的按钮中?
ActionListener
创建的内部类中向变量fromR
赋值。 - Elliott FrischfromR
可能是在添加此匿名类的方法内部创建的(因此它需要是final或有效地final)。我猜测pressed
是一个实例变量,所以它适用于这个。 - Tunakii
,因为它不是有效的final变量。 - Paul Boddington