我在 for 循环中创建了一个组合框数组,如下所示:
for(int i = 0; i < 5; i++) {
...
comboStudy[i] = new JComboBox(studyModel);
comboStudy[i].addActionListener(new studyListener());
comboStudy[i].setActionCommand("" + i);
...
}
监听器是一个实例内部类:
public class studyListener implements ActionListener {
public void actionPerformed(ActionEvent evt) {
int i = Integer.parseInt(evt.getActionCommand());
// do some stuff that requires i and also access
// to the instance members of the containing class
}
}
我现在面临的问题是,每当我在运行时在 comboStudy[0] 中进行选择时,动作事件都会被触发 5 次。第一次 i 为 4,每次递减,直到变为 0。
我也尝试过使用 ItemListener,但它也有同样的问题。
请帮忙!