Java Swing—我的程序中JFrames(或JDialogs???)的组织

Java Swing—我的程序中JFrames(或JDialogs???)的组织,java,swing,design-patterns,jframe,Java,Swing,Design Patterns,Jframe,我有一个主控制器类,它显示了一个包含JTable的JFrame,对于这个表中的每一行,我必须在双击时显示一个特定的“表单” 此辅助窗口需要有关主JTable上选择的特定行的信息,以及一些保存为controller类中字段的对象 我需要做的一个概念性示例如下: 我有一组店铺(列在主JFrame中的JTable中),双击一行时,必须出现另一个窗口,允许对店铺进行管理(发送订单、检查交货等) 作为Swing的新手,我的问题是:对于这种常见模式,什么是最好的组织? 我应该为另一个JFrame建模并将可能

我有一个主控制器类,它显示了一个包含JTable的JFrame,对于这个表中的每一行,我必须在双击时显示一个特定的“表单”

此辅助窗口需要有关主JTable上选择的特定行的信息,以及一些保存为controller类中字段的对象

我需要做的一个概念性示例如下: 我有一组店铺(列在主JFrame中的JTable中),双击一行时,必须出现另一个窗口,允许对店铺进行管理(发送订单、检查交货等)

作为Swing的新手,我的问题是:对于这种常见模式,什么是最好的组织? 我应该为另一个JFrame建模并将可能需要的所有数据作为参数传递(我真的不喜欢这样),还是只传递对Controller类的引用(我认为这与MVC模式相反)。 或者我应该使用JDialog而不是另一个JFrame?问题是,实际上,我需要的第二个窗口的功能对于对话框来说有点太大了,我想

我很困惑,任何提示/建议/建议都将不胜感激! 多谢各位

问候

或者我应该使用JDialog而不是另一个JFrame


答对了。

我实际上不喜欢在我的模型类(又名Shop)中有一个监听器的想法——实现
ActionListener
。我想我应该扩展
JDialog
类(我们称之为
MyJDialog
),然后当双击一行时…创建
MyJDialog
类的新实例,并在构造函数中传递
Shop
对象。在
MyJDialog
类中,可以通过调用mutators(setters)来修改Shop对象。此外,
Shop
类应该有一种在属性发生更改时通知观察者的方法–请看。

我认为在模型中使用ActionListener不是一个好主意。@dk89,嗯..是的。我想你是对的;对话框本身可以作为侦听器,并相应地修改
Shop
实例。