Я использую NetBeans и это GUI Builder. Моя проблема в том, что я, по-видимому, не могу правильно использовать List List Listener.Почему List List List List прерывает мой метод?
У меня есть два метода. Первый должен получить индекс выбранного элемента JList и использовать его для извлечения данных из ArrayList, чтобы поместить это в различные поля. (Индекс INT объявлена глобально)
private void mitarbeiterAnzeigeValueChanged(javax.swing.event.ListSelectionEvent evt) {
if(evt.getValueIsAdjusting()) { //I didn't put the "!" here because then this method would do nothing.
JList jl = (JList) evt.getSource();
index = jl.getSelectedIndex();
nameTextField2.setText(Arbeitsplan.mitarbeiterListe.get(index).gibNamen());
beschäftigungsartBox2.setSelectedItem(Arbeitsplan.mitarbeiterListe.get(index).gibBeschäftigungsart());
wochenstundenTextField2.setValue(Arbeitsplan.mitarbeiterListe.get(index).gibWochenstunden());
}
}
Arbeitsplan мой основной класс и mitarbeiterListe ArrayList там.
Во-первых, почему я не должен ставить "!" перед «getValueIsAdjusting()»?
Второй метод должен удалять записи из JList, а также из ArrayList. Кроме того, следует очистить TextFields.
private void mitarbeiterLöschenButtonActionPerformed(java.awt.event.ActionEvent evt) {
Arbeitsplan.mitarbeiterListe.remove(index);
mitarbeiterListModel.remove(index);
mitarbeiterAnzeige.remove(index);
mitarbeiterAnzeige.setModel(mitarbeiterListModel);
nameTextField2.setText("");
beschäftigungsartBox2.setSelectedIndex(0);
wochenstundenTextField2.setValue("");
}
После "mitarbeiterAnzeige.remove (index);" поток снова меняется на первый метод, и в конце ничего не работает. Я получаю сообщение «ArrayIndexOutOfBoundsException: -1».
Почему ответчик реагирует в моем втором методе? Или более общие, каковы мои ошибки?
Спасибо в adavance!