Некоторое время назад я задал этот вопрос . Все решения - обходные пути.
Теперь этого не может быть. Я чувствую, что здесь что-то не так, но я не могу сказать, является ли это модель MVC Swing концептуально неправильной, или это мое мышление концептуально неверно.
И снова проблема. Я использую JList
для реализации списка эскизов страниц документа. Если пользователь выбирает другой эскиз из списка, эта страница загружается. Для этого я добавил ListSelectionListener
в JList
, который при изменении выбора загружает эту страницу. Но пользователь также может изменить страницу с помощью другого элемента управления. Естественно, я хочу, чтобы это отразилось в списке эскизов, выбрав эту страницу здесь. Итак, я setSelectedIndex ()
, чтобы обновить JList
. К сожалению, это имеет нежелательный эффект, вызывая событие ListSelectionEvent
, которое заставляет слушатель перезагружать страницу.
Что же здесь не так? Я просто поменял модель откуда-то еще, поэтому, естественно, я хочу, чтобы представление обновлялось само, но я не хочу, чтобы оно запускало события. Swing не реализует MVC правильно? Или мне здесь не хватает точки?