TableModel - изменять внешние объекты при установке значения

У меня есть отдельный класс, который реализует интерфейс TableModel, используемый для JTable. У меня есть один логический столбец, представленный в виде столбца флажков, и мне было интересно, как я могу сообщить внешнему объекту, что определенные значения необходимо обновить? Если бы у меня была эта реализация в виде вложенного класса, я мог бы получить доступ к членам основного класса изнутри, но если бы я решил вынести его в отдельный класс, нужно ли мне регистрировать свой основной класс в качестве слушателя в реализации модели Table а затем поднять событие?


person Bober02    schedule 14.08.2012    source источник
comment
Кажется, ваш вопрос уже содержит ответ. Да, вы должны зарегистрировать свой основной класс в качестве слушателя в TableModel, а затем вызвать событие при обновлении одного из значений.   -  person LordOfThePigs    schedule 14.08.2012
comment
из внешних классов в Модель JTableM??? или из JTable Model вышел...???   -  person mKorbel    schedule 14.08.2012
comment
Я думал о подписке на события tableModel   -  person Bober02    schedule 14.08.2012
comment
@mKorbel: это представление может быть предназначено для прослушивания TableModel. +1 за предпочтение слабой связи.   -  person trashgod    schedule 14.08.2012


Ответы (2)


Расширяя правильный ответ @gontard, вы можете настроить свой представление (например, CombinedDomainXYPlot) на слушай свой TableModel. Оба известные подклассы включают необходимые addTableModelListener() реализация. Ваше представление может соответствующим образом отреагировать, увидев изменение.

person trashgod    schedule 14.08.2012

Ваш внешний объект должен напрямую прослушивать изменение значения модели. Нет необходимости добавлять зависимость от представления.

person gontard    schedule 14.08.2012