Использование модели MVC с Swing Application Framework - PullRequest
4 голосов
/ 10 февраля 2010

Я пытаюсь создать простое настольное Java-приложение, используя Swing Application Framework и модель MVC, но я борюсь за некоторые области, потому что не хватает хороших примеров (единственные примеры SAF, которые я обнаружил, - это что угодноMVC!).

Мне удается запускать события из компонентов, но помимо этого я изо всех сил пытаюсь использовать модель MVC с SAF.Где-нибудь есть примеры?

Например, я запускаю событие (сопоставленное с @Action) в средстве просмотра, которое отправляет его в контроллер.Но какую функцию я должен использовать?Мой AbstractController расширяет PropertyChangeListener.

Как связать с SAF оба направления (модель -> контроллер и вид -> контроллер)?

1 Ответ

3 голосов
/ 10 февраля 2010

Я могу порекомендовать эту статью: Обзор архитектуры Swing .

Например, при использовании JTable (представление) вы создаете модель, расширяя AbstractTableModel, и обрабатываете пользовательские события с помощью Actions и слушателей.

Пользователь может написать некоторый текст в JTextField, и вы привязываете действие к кнопке «Добавить». Ваше действие реализует actionPerformed (), где вы можете вызвать метод Add в модели, чтобы добавить текст. В методе Add вы сохраняете данные, а затем вызываете fireTableRowsInserted (), и представление будет обновлено.

Компоненты Swing часто содержат модель и представление по умолчанию.

РЕДАКТИРОВАТЬ: Извините, не знал о Swing Application Framework. Мой ответ просто касался Swing.

...