我正在尝试用 Java swing 设计一个 MV(模型- View Controller )应用程序。我无法为每个 ViewController 分配正确的模型。
我的想法是有两个 View :Gui 和 Midi 设备。
每个 View 都有其对应的模型。然而,Gui(ButtonBar)的一部分需要访问midi设备模型。
目前,我的解决方案是将 MidiDevice 模型传递给 MainWindow 的构造函数,然后让它传递给 MyPanel 构造函数,然后传递给 ButtonBar...对我来说,这听起来很糟糕的设计和 future 的复杂性。
您建议什么更好的方法?
最佳答案
一种方法是让设备 View 和/或模型导出 Action
ButtonBar
所需的实例。在这个简单的example , View 导出用于控制显示本身的操作。在更复杂的例子中引用here ,由 EditorKit
提供的操作子类对文本组件使用的 Document
模型进行操作;聆听 View 会根据响应自行更新。这个example使用此类操作创建一个 JToolBar
。最后,JHotDraw
,引用here ,动态生成操作以在工具栏中使用,如所讨论的 here .
关于java - 如何在 Java Swing 中正确设计 MV 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37884313/