java - 同步 Controller 与 View

标签 java swing model-view-controller view controller

我有一个用 mvc 制作的 Java 项目,其中我的 Flux 程序包含在 Controller 上。

我想知道如何将我的 Controller 与我的 View 同步,因为我想如果我需要为我的 Swing View 输入,我 Controller 上的通量程序将继续运行。

我需要帮助,因为我不知道如何解决这个问题。

我尝试过包含 boolean 值的 block (例如:我在 View 中设置的 while(!Action),当我返回到 Controller 时,应该设置变量(true))。

最佳答案

如果我理解正确,你希望当 Controller 中的值发生变化时更新你的 View ,但你也可以更改你的 View 中的所述值,以便你的 View 必须通知 Controller 更新它的值。

如果是这样的话

您需要让 Controller 监听 View 上的更新/更改事件,并根据 View 更新其数据/模型。
您还需要为您的 Controller 创建一个新功能,一个新的 setter 。每次直接修改 Controller 时,此 setter 都会自动更新 View 和值。

controller.superSet(newValue)
{
  this.value = newValue;
  view.setValue(newValue);
}

通常在 MVC 中,您的 Controller 不保存数据(至少不多),您有一个模型保存它。所述模型不应该直接访问 Controller 或 View 。他将通知 Controller , Controller 将调用 Controller 内部的更新方法来获取值并更新 View 。

Controller 通常具有对 View 的完全访问权限,但 View 不访问 Controller 。 View 使用事件来让 Controller 知道某些事情发生了变化。

关于java - 同步 Controller 与 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16970688/

相关文章:

Java 泛型接口(interface)和 Spring GetBean 按 Id 和类类型

java - 将 JPanel 背景设置为透明

java - 当用户未按 Enter 键时从 JTextInput 捕获输入

java - 如何使用 GUI 构建简单的国际象棋游戏的 UML 图?

java - 带循环的深度优先搜索

java - 对 2 个或更多大量结果集进行排序?

java - 应用程序启动方法中的异常

java - keyPressed 监听器产生奇怪的行为

c++ - 在 Qt 中的数据类(模型)和 View / Controller 类之间传递数据的正确方法是什么?

java - Swing JTextField 文本更改监听器 DocumentListener 无限循环