Как бороться с событиями в Java MVC
Я создаю свое первое "большее" приложение на Java. Поскольку MVC - это единственный шаблон, который я знаю, я решил использовать его. Но с этой концепцией что-то не так.
Например. Мне нужен Action
(или вообще событие) выстрелил из 2-х мест (из Button
в рамке и MenuItem
). Это должно сделать изменения как минимум в 2 местах и в модели.
У меня есть некоторые идеи, но они кажутся неправильными:
- Передайте объект контроллера каждому элементу представления, чтобы вновь созданные действия могли использовать методы контроллера для изменения остальной части приложения.
- Сделать контроллер статичным (по тем же причинам)
- Сделать контроллер только моделью слушателя
Подскажите пожалуйста как его построить. Или дайте мне несколько ссылок на некоторые легко анализируемые приложения.
Источник моего проекта здесь, если кто-то хочет посмотреть: https://github.com/Arrvi/ColorExtractor
1 ответ
Вы правильно используете Action
инкапсулировать функциональность для использования различными компонентами, такими как меню и кнопки. Спектр примеров приведен здесь. Что касается MVC, напомним, что Swing использует отдельную модель архитектуры, рассмотренную здесь. По сути, пользователь является контроллером, и не каждое взаимодействие должно проходить через контроллер вашего приложения.