我有一个快速的问题,以下代码如何知道按下了哪个索引,令我困惑的是它通过 for 循环为每个按钮添加了一个动作侦听器,但是当我按下一个按钮时,程序如何知道索引是否为 1或 5,因为 index 仅等于 for 循环当前索引(如果这没有意义,请告诉我,idk 如何正确解决这个问题)
private void buttonEvtListeners(){
for(int i=0;i<6;i++){
final int index = i;
comp.buttons1[i].addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
if(index < 3){
System.out.println("Save button index: " + index);
}else{
System.out.println("Panel Save button index: " + index);
}
}
});
comp.buttons2[i].addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
if(index < 3){
System.out.println("Default button index: " + index);
}else{
System.out.println("Panel Default button index: " + index);
}
}
});
comp.buttons3[i].addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
if(index < 3){
System.out.println("Undo button index: " + index);
}else{
System.out.println("Panel Undo button index: " + index);
}
}
});
}
}