У меня есть JList, который использует DefaultListModel.
Затем я добавляю значения к модели, которые затем появляются в JList. Я создал MouseListener, который (при двойном щелчке) позволяет пользователю редактировать текущий номер пользователя того человека, которого они выбрали.
Я проверил, что реальный объект этой записи изменяется, и это так. Единственная проблема, с которой я сталкиваюсь, - это обновление актуального Jlist для отображения новых значений этого объекта.
Фрагменты текущего кода, который у меня есть:
Создание JList и DefaultTableModel:
m = new DefaultListModel();
m.addListDataListener(this);
jl = new JList(m);
jl.addMouseListener(this);
Обновление объекта:
String sEditedNumber = JOptionPane.showInputDialog(this, "Edit number for " + name, number);
if (sEditedNumber != null) {
directory.update (name, sEditedNumber);
}
И (когда jl - это JList, а m - это DefaultTableModel):
public void contentsChanged(ListDataEvent arg0) {
jl.setModel(m);
}