Как бороться с событиями в Java MVC

Я создаю свое первое "большее" приложение на Java. Поскольку MVC - это единственный шаблон, который я знаю, я решил использовать его. Но с этой концепцией что-то не так.

Например. Мне нужен Action (или вообще событие) выстрелил из 2-х мест (из Button в рамке и MenuItem). Это должно сделать изменения как минимум в 2 местах и ​​в модели.

У меня есть некоторые идеи, но они кажутся неправильными:

  1. Передайте объект контроллера каждому элементу представления, чтобы вновь созданные действия могли использовать методы контроллера для изменения остальной части приложения.
  2. Сделать контроллер статичным (по тем же причинам)
  3. Сделать контроллер только моделью слушателя

Подскажите пожалуйста как его построить. Или дайте мне несколько ссылок на некоторые легко анализируемые приложения.

Источник моего проекта здесь, если кто-то хочет посмотреть: https://github.com/Arrvi/ColorExtractor

1 ответ

Решение

Вы правильно используете Action инкапсулировать функциональность для использования различными компонентами, такими как меню и кнопки. Спектр примеров приведен здесь. Что касается MVC, напомним, что Swing использует отдельную модель архитектуры, рассмотренную здесь. По сути, пользователь является контроллером, и не каждое взаимодействие должно проходить через контроллер вашего приложения.

Другие вопросы по тегам