Я хотел попытаться создать пример программы на светофоре, используя paintComponent, но я немного запутался в подходе MVC, 2 вопроса:
Я сделал это с рамкой (посмотреть) двигатель (модель) и JButton (контроллер), который будет включать / выключать свет.
Для меня самый простой способ сделать это - заставить мой контроллер напрямую общаться с представлением, вызываяпереключения ();(метод, который переключает логическое значение «active» на true / false ») в представлении, а затем вызывает repaint (); в представлении. Этот метод repaint проверяет, активен ли он, а затем рисует что-то другое в зависимости от того, активен ли он.true или false.
first Вопрос в том, приемлемо ли это стандартами MVC? Я бы сказал, да, так как это просто рисование, однако я считаю, что в методах представлений не должно быть вычислений, это проверка "active""Рассчитанные вычисления?
Было бы лучшим решением создать метод в модели, который затем мог бы вызвать метод toggle () для представления, так как это технически изменяет данные? или лучше просто изменить егонепосредственно из контроллера. Конечно, легче в меньшем сценарии, но я могу видеть, что это будет сбивать с толку для большего решения.
Не уверен, что этот вопрос достаточно ясен, дайте мне знать, и я постараюсь предоставитьбольше информации.