【问题标题】:How to properly design an MV application in Java Swing?如何在 Java Swing 中正确设计 MV 应用程序?
【发布时间】:2016-06-17 14:37:19
【问题描述】:

我正在尝试在 Java swing 中设计一个 MV (Model-ViewController) 应用程序。我无法为每个 ViewController 分配正确的模型。

这是我目前的设计(不是实际名称):

我的想法是我有两个视图:Gui 和 Midi 设备。

每个视图都有其对应的模型。但是,GUI(ButtonBar)的一部分需要访问midi设备模型。

目前,我的解决方案是将 MidiDevice 模型传递给 MainWindow 的构造函数,然后让它传递给 MyPanel 构造函数,然后传递给 ButtonBar……对我来说,这闻起来很糟糕的设计和未来的复杂性。

你有什么更好的建议?

【问题讨论】:

    标签: java swing model-view


    【解决方案1】:

    一种方法是让设备查看和/或模型导出ButtonBar 所需的Action 实例。在这个简单的example 中,视图导出用于控制显示本身的操作。在引用here 的更复杂示例中,EditorKit 子类提供的操作在文本组件使用的Document 模型上运行;聆听视图会自动更新自己的响应。此example 使用此类操作创建JToolBar。最后,引用hereJHotDraw 动态生成用于工具栏中的操作,如here 所述。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-10
      • 1970-01-01
      • 1970-01-01
      • 2011-04-09
      • 1970-01-01
      • 1970-01-01
      • 2010-11-23
      • 2019-11-07
      相关资源
      最近更新 更多