Что-то не так с реализацией Swing MVC для JList?

Некоторое время назад я задал этот вопрос . Все решения - обходные пути.

Теперь этого не может быть. Я чувствую, что здесь что-то не так, но я не могу сказать, является ли это модель MVC Swing концептуально неправильной, или это мое мышление концептуально неверно.

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

Что же здесь не так? Я просто поменял модель откуда-то еще, поэтому, естественно, я хочу, чтобы представление обновлялось само, но я не хочу, чтобы оно запускало события. Swing не реализует MVC правильно? Или мне здесь не хватает точки?

11
задан Community 23 May 2017 в 10:30
поделиться