Использование модели MVC с Swing Application Framework
Я пытаюсь создать простое настольное Java-приложение, используя Swing Application Framework и модель MVC, но я борюсь за некоторые области, потому что не хватает хороших примеров (единственные примеры SAF, которые я нашел, это что-то кроме MVC!),
Мне удается запускать события из компонентов, но помимо этого я борюсь за использование модели MVC с SAF. Есть ли где-нибудь примеры?
Например, я запускаю событие (сопоставленное с @Action) в средстве просмотра, которое отправляет его в контроллер. Но какую функцию я должен использовать? Мой AbstractController расширяет PropertyChangeListener.
Как сделать привязку с SAF к обоим направлениям (модель -> контроллер и вид -> контроллер)?
1 ответ
Я могу рекомендовать эту статью: Обзор архитектуры Swing.
Например, при использовании JTable (view) вы создаете модель, расширяя AbstractTableModel, и обрабатываете пользовательские события с помощью Actions и слушателей.
Пользователь может написать некоторый текст в JTextField, и вы привязываете действие к кнопке "Add"-JButton. Ваше действие реализует actionPerformed(), где вы можете вызвать метод Add в модели, чтобы добавить текст. В методе Add вы сохраняете данные и затем вызываете fireTableRowsInserted(), и представление будет обновлено.
Компоненты Swing часто содержат модель и представление по умолчанию.
РЕДАКТИРОВАТЬ: Извините, не знал о Swing Application Framework. Мой ответ просто касался Swing.