【问题标题】:Interaction between MVC models in GUI applicationGUI 应用程序中 MVC 模型之间的交互
【发布时间】:2014-07-29 17:36:28
【问题描述】:

我目前正在编写一个 GUI 应用程序,随着它的发展,它变得越来越混乱,所以我决定实现一个 MVC 设计。

假设我有一个面板模型,其中包含具有属性(例如名称和 ID)的实体,并且我有另一个面板模型,其中可以编辑实体的属性。

链接这两者的最佳方法是使实体面板的控制器成为属性模型上的侦听器并在触发操作时更新实体吗? 告诉我这是否愚蠢,因为我是 MVC 设计的新手。

谢谢

【问题讨论】:

    标签: java user-interface model-view-controller


    【解决方案1】:

    假设我有一个面板模型,其中包含具有属性(例如名称和 ID)的实体,并且我有另一个面板模型,其中可以编辑实体的属性。

    这是一个简单的例子,但是没问题。

    您有一个模型类,其中包含属性以及属性的 getter 和 setter。

    您有一个包含 JPanel 的 GUI 类,用户可以在其中输入现有属性。

    您有另一个包含 JPanel 的 GUI 类,用户可以在其中更改现有属性。

    enter GUI 类从模型类中读取值,以便该类可以验证用户输入的值是否正确。进入 GUI 类不会修改模型类中的值。

    当点击 OK 按钮时,更改 GUI 类会触发一个控制器类。控制器类修改模型类中的值。

    让我们总结一下。

    1. GUI 可以从模型中读取值。
    2. GUI不得更新模型中的值。
    3. 控制器将更新模型中的值。
    4. 控制器可能会更新 GUI 的状态(刷新/重绘)

    【讨论】:

    • 1+ 此外,视图必须以某种方式通知模型的任何更改,无论是直接还是通过控件,具体取决于使用的 MVC 子类型。
    猜你喜欢
    • 1970-01-01
    • 2014-07-13
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多