之前我已经看过一些帖子,但是我找不到关于actionListeners的帖子。我正在尝试使用JButtons数组创建井字游戏。如果有可能,如何在使用for循环临时变量的同时向他们添加动作侦听器?感谢您的帮助。
JButton jb [] = new JButton[9];
int checkB [] = new int[9];
public SomethingSimple(){
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(3, 3, 5, 5));
p1.setBackground(Color.red);
for (int i = 0; i < jb.length; i++){
checkB[i] = 0;
}
for (int i = 0; i < jb.length; i++){
jb[i] = new JButton("");
p1.add(jb[i]);
jb[i].addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
jb[i].setText("O");
}
});
}
add(p1);
}
感谢大家的帮助,您给我一些解决方案!
最佳答案
在for循环内创建一个最终的int;您不能从类访问匿名类的局部变量。
解:
关于java - 在内部类修订中访问局部变量“i”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23330562/