Swing - 在我的程序中组织JFrames(或JDialogs ???)

时间:2011-12-28 15:14:22

标签: java swing design-patterns jframe

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

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

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

我的问题是,我是Swing的新手,是:像这样一个共同模式的最佳组织是什么? 我应该建模另一个JFrame并作为参数传递我可能碰巧需要的所有数据(我真的不喜欢这个),或者我应该只传递一个对Controller类的引用(这会违反MVC模式,我认为)。 或者也许我应该使用JDialog而不是另一个JFrame?问题是,实际上,从第二个窗口我需要的功能对于对话来说有点太大了,我认为...

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

此致

2 个答案:

答案 0 :(得分:4)

  

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

<强>宾果

答案 1 :(得分:1)

我实际上不喜欢在我的Model类(又名Shop)中有一个监听器的想法 - 实现ActionListener。我想我会扩展JDialog类(让我们称之为MyJDialog)然后当双击一行时...创建MyJDialog类的新实例并传入Shop构造函数中的对象。在MyJDialog类中,您可以通过调用mutators(setter)来修改Shop对象。此外,Shop类应该在更改属性时通知观察者 - 请查看PropertyChangeSupport