Java Applet - MVC - Как связать модель для просмотра? - PullRequest
0 голосов
/ 17 февраля 2009

Какой самый простой способ создать апплет, имеющий представление с компонентами, которые связаны с данными модели и обновляются при обновлении модели?

В идеале как можно меньше кода, желательно без / декларативного:)

Если для объяснения нужен тип компонента, рассмотрите JLabel, текст которого связан с компонентом с помощью метода доступа String getText () - но если это просто тупой, приведите лучший пример!

Спасибо!

Ответы [ 3 ]

1 голос
/ 17 февраля 2009

, если ваша модель не очень маленькая, привязка данных не так просто:

http://www.jgoodies.com/ примеры: http://www.java2s.com/Code/Java/Swing-Components/Data-Binding.htmjgoodies

BeansBinding: http://www.artima.com/forums/flat.jsp?forum=276&thread=213997

1 голос
/ 19 февраля 2009

Я предлагаю избегать PropertyChangeEvent с и чего-либо испорченного.

Создание мелкозернистых моделей: например, модели, представляющей фрагмент текста (документ сложен в использовании и имеет большой вес, но вы можете использовать адаптеры). Вам также необходимо уметь моделировать ограничения (например, целочисленные границы) и производные модели. Тогда ваш «настоящий» «бизнес» может быть составным, без установщиков или обработки событий. Избегайте дублирования данных в модели.

При наличии простых моделей подключение к компонентам становится простым. Например, для создания метки, связанной с текстовой моделью, используйте фабричный метод, который принимает текстовую модель и возвращает новую подключенную JLabel.

1 голос
/ 17 февраля 2009

Первое, что приходит на ум, - это зарегистрировать PropertyChangeListener в бине, который обновляет текст метки в методе propertyChange. Это обычный способ связывания моделей и представлений, добавление слушателя к модели, который обновляет представление при любых соответствующих изменениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...