Я просто хотел увидеть, какой элемент выбирается, и изменить другие метки и текс-поля на фрейме в соответствии с индексом. Мой код выглядит следующим образом:ListSelectionListener неверный индекс
list = new JList(listModel);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setLayoutOrientation(JList.VERTICAL);
list.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
System.out.println(e.getLastIndex());
}
});
Когда я нажал первый выходной элемент: 0 0
После нажатия второго элемента: 1 1
После этого я попытался щелкнуть первый элемент снова, но на этот раз выход снова 1 1
. Когда я попытался с 25 элементами, выбирая последний элемент, и после этого нажмите первый элемент и выведите 23 23
. Это о проблеме события или о моем коде?
У меня возникла ошибка при отправке события события. Исключение в нити "АВТ-EventQueue-0" java.lang.ClassCastException: javax.swing.JList не может быть приведен к javax.swing.ListSelectionModel ListSelectionModel LSM = (ListSelectionModel) e.getSource(); – codebender