2010-02-10 4 views
4

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

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

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

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

ответ

3

Я могу порекомендовать эту статью: A Swing Architecture Overview.

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

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

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

EDIT: Извините, не знал о Swing Application Framework. Мой ответ был направлен только на Свинг.

+0

Так что я бы вообще не писал отдельный класс контроллера? Я тоже новичок с Swing, что, вероятно, объясняет некоторые из моих замешательств ... – Makis

Смежные вопросы