我想从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中显示) 但没有运行时或Compliletime异常。
答案 0 :(得分:1)
你应该可以这样做:
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);
}
});
}