0

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

我的 gui 是动态的,因此我有一个包含其他 JPanel 的侧面板。其中之一恰好是一个 LoginPanel,当有人尝试登录时它会抛出一个 LoginEvent。因为我希望我的 SidePanel 是动态的,所以 SidePanel 不知道 LoginPanel 的存在,它只是在绘制它被告知要绘制的内容。

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

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

4

1 回答 1

0

存在和可见之间是有区别的。简单地让你LoginPanel一直存在,但setVisible用来隐藏和显示它。这将是最简单的解决方案。

于 2013-11-13T19:51:28.903 回答