我正在用 Java 创建我的第一个“更大”的应用程序。由于 MVC 是我所知道的唯一模式,因此我决定使用它。但这个概念有问题。
例如。我需要从 2 个位置(从框架中的 Button
和 MenuItem
)触发一个 Action
(或一般事件)。它必须在模型中至少有 2 个地方进行更改。
我有一些想法,但它们似乎是错误的:
- 将 Controller 对象传递给每个 View 元素,以便新创建的操作可以使用 Controller 的方法来修改应用程序的其余部分。
- 使 Controller 静态(出于同样的原因)
- 仅制作 Controller 模型监听器
请告诉我如何构建它。或者给我一些易于分析的应用程序的链接。
我的项目源码在这里,如果有人想看的话:https://github.com/Arrvi/ColorExtractor
最佳答案
您正确使用Action
封装功能以供不同组件(例如菜单和按钮)使用。引用了一系列示例 here 。至于MVC ,回想一下 Swing 使用 separable model architecture ,检查here 。实际上,用户就是 Controller ,并不是每个交互都需要通过应用程序的 Controller 。
关于java - Java MVC中如何处理事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23725554/