具有动态GUI的MVC事件系统

时间:2013-11-13 17:08:25

标签: java swing events model-view-controller

我正在使用swing进行gui系统,我正在尝试遵循模型 - 视图 - 控制器模型。在实现我的事件系统时,我有点困惑,以便在gui上发生事情时视图可以与控制器通信。

我的gui是动态的,所以我有一个包含其他JPanels的侧面板。其中一个碰巧是LoginPanel,当有人试图登录时会抛出LoginEvent。由于我希望我的SidePanel是动态的,因此SidePanel不知道LoginPanel是否存在,它只是绘制了它被绘制的内容。

当我启动程序时,模型和视图分别启动,控制器将传递模型和视图的实例。

使用MVC系统,当LoginPanel在我的gui上是动态的并且一直不存在时,如何告诉LoginPanel一个控制器(实现LoginEventListener)想要听它?

1 个答案:

答案 0 :(得分:0)

现有和可见之间存在差异。只需让LoginPanel始终存在,但使用setVisible隐藏并显示它。这将是最简单的解决方案。