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