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