Как временно отключить прослушиватели событий в Swing?

У меня есть приложение Swing с моделью и представлением. В представлении (GUI) есть много компонентов, каждый из которых сопоставляется с некоторым свойством объекта модели и отображает его значение.

Теперь есть некоторые компоненты пользовательского интерфейса, которые автоматически запускают обновление некоторых свойств модели, когда их значение изменения в пользовательском интерфейсе. Это требует от меня перезагрузки полной модели в пользовательском интерфейсе. Таким образом, я вхожу в бесконечный цикл обновления, поскольку каждая перезагрузка модели в пользовательском интерфейсе вызывает перезагрузку другой модели.

У меня есть флаг, указывающий на процесс загрузки, который я хотел бы использовать для временного подавления уведомлений слушателя, пока поля пользовательского интерфейса устанавливаются из модели. Итак, мой вопрос:

Есть ли способ глобально временно отключить прослушиватели некоторых компонентов в Swing без их удаления и повторного подключения?

14
задан MicSim 24 September 2013 в 15:32
поделиться