В Java я пытаюсь определить, какой JComboBox в ArrayList был просто нажат. Ниже приведен код:
private ArrayList<JComboBox<String>> setTextBoxList;
// basic initialization
public void populateList() {
String str[] = {"one", "two"};
for(int i=0; i<2; i++) {
JComboBox<String> jcb = new JComboBox<String>(str);
setTextBoxList.add(new JComboBox<String>(str));
jcb.addActionListener(this);
}
}
public void actionPerformed(ActionEvent e) {
Object o = e.getSource();
if(o instanceof JComboBox) {
// here's where I'd like to see which box was just changed
System.out.println("change index "
+ setTextBoxList.indexOf((JComboBox)o) );
}
}
Моя проблема в том, что когда я нажимаю и изменяю один из списков, показанный индекс всегда равен -1. Я хотел бы получить индекс того, какая ячейка в массиве была только нажата / изменена. Я получаю те же результаты без явного приведения типов.