我想访问i
来自mouseClicked
方法。有人可以帮我解决这个问题吗?
这是我的代码片段 -
for (int i = 0; i < 9; i++) {
JLabel jl = new JLabel(String.valueOf(i));
jl.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent evt) {
addAnEventToLabel(i); //Error 1
}
});
}
错误 1 - 从内部类引用的局部变量必须是最终的或有效的最终(在 IDE 中显示) 但没有运行时或编译时异常。
最佳答案
你应该能够做到:
for (int i = 0; i < 9; i++) {
final int tmpI = i;
JLabel jl = new JLabel(String.valueOf(i));
jl.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent evt) {
addAnEventToLabel(tmpI);
}
});
}
关于java - 从java中的内部类访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46950056/