java - Java MVC中如何处理事件

标签 java swing events model-view-controller

我正在用 Java 创建我的第一个“更大”的应用程序。由于 MVC 是我所知道的唯一模式,因此我决定使用它。但这个概念有问题。

例如。我需要从 2 个位置(从框架中的 ButtonMenuItem)触发一个 Action (或一般事件)。它必须在模型中至少有 2 个地方进行更改。

我有一些想法,但它们似乎是错误的:

  1. 将 Controller 对象传递给每个 View 元素,以便新创建的操作可以使用 Controller 的方法来修改应用程序的其余部分。
  2. 使 Controller 静态(出于同样的原因)
  3. 仅制作 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/

相关文章:

java - 如何强制重新喷漆玻璃板?

java - Swing JTable 按日期排序

c# - 如何在 C# 中实际创建事件

javascript - 无法读取未定义的 React Hooks 的属性

java - 如何处理JmsChannelFactoryBean错误,是否有可能使用自定义错误 channel ?

Java 在单个 JTable 单元格中显示元素

java - 如果使用以下逻辑条件未执行

java - 在 Java 中从特定 IP 生成 HttpRequest

java - 在 JPanel 中实现图形

javascript - 动态创建的元素上的事件绑定(bind)?