Java застекленные списки:как обновить строку таблицы
-
21-09-2019 - |
Вопрос
Я упускаю здесь что-то очевидное.
У меня есть застекленные списки EventList<X>
где X
это мой пользовательский класс.Этот список содержит множество значений.Когда я обновляю одно из значений, как мне убедиться, что графический интерфейс обновляет свое отображение для этой строки?
Решение 3
Кажется, что это можно сделать, заменив элемент списка самим собой:
EventList<X> list = /* get reference to a list */
X x = list.get(3);
/* update x here */
list.set(3,x);
Другие советы
Похоже, вы можете вызвать аддлистевентлистенер зарегистрировать ListEventListener.См. также Учебное пособие по глазурованным спискам.
Тот Самый Вопросы и ответы упоминает два способа в рамках рассматриваемого вопроса:
Как мне сообщить застекленным спискам, что объект в моем списке событий был обновлен?
Либо вы используете подход get / set, как указал Джейсон, либо вы делаете элементы в списке наблюдаемыми, например, с помощью PropertyChangeListener
а затем используйте ObservableElementList
.Я думаю, что этот второй подход более чистый, и он также должен работать с параллельными потоками.