代码之家  ›  专栏  ›  技术社区  ›  James P. PachinSV

Swing如何适应MVC?

  •  4
  • James P. PachinSV  · 技术社区  · 14 年前

    web上有很多例子,当涉及到使用Swing的MVC模式时。然而,似乎没有一个简单的做事方式。

    以下是一些问题:

    1. 视图的概念是否可以直接与诸如JFrames之类的Swing组件相关联?
    2. 同样,Swing使用的现有模型类是否可以用作 这个 模型还是应该通过几个Swing模型类调整一个基本模型?
    3. 如果2的答案是肯定的,那么这些模型类应该集中在一个类(属性/组合)中还是分组在一个包中(每个单独的模型一个类)?
    4. 一个模型、一个视图和一个控制器之间的一对一对应是必要的还是一个给定的模型可以存在多个控制器/视图?
    5. 最后,如何构造应用程序以便于维护?

    一些链接:

    2 回复  |  直到 14 年前
        1
  •  4
  •   Community basarat    7 年前

    A JFrame top-level containers ,实现了一个优秀的视图;我通常使用 JPanel 组织 JComponent 构成相关视图元素的子类。

    对视图的了解;它通知观察者(监听器)状态的变化,通常是响应其方法的调用。

    ,如中所述 A Swing Architecture Overview

    这很简单 example 你可能会觉得很有启发性。

        2
  •  2
  •   bobndrew Daniel Hiller    12 年前

    这篇关于Java SE应用程序和MVC的文章似乎回答了您的问题: http://www.oracle.com/technetwork/articles/javase/index-142890.html

    更新: 模型应该适合您存储数据的方式,不要强迫您的解决方案使用某些通用模型。例如,如果您有表格数据,您可能希望一个视图将其显示为三维图形,另一个视图显示为电子表格。一个模型,多个视图。

    当我这样做的时候,我必须在控制器上工作,并且根据复杂性,我可能有几个控制器,而不是强迫一个控制器做太多的工作。

    但是,您会发现框架使用一个主控制器调用其他控制器,这很好,但是,找到一个在适应性和可维护性方面有意义的设计。