【发布时间】:2015-07-03 03:00:57
【问题描述】:
所以我在网上阅读了很多关于 MVC 的内容并在课堂上了解了它,但我仍然迷失在一个方面 - 更改和显示视图。我知道视图是 GUI,它们将用户输入传递给控制器,但我很难思考以下如何工作:
- 显示的视图 A
- 用户点击视图 A 上的按钮
- 通知控制器,告诉模型
- Model 告诉 Controller 显示 View B
- 控制器显示视图 B?!?
这里的最后两行是我不明白如何实现的。如果 View 没有更改为另一个 View,我知道使用 Observer/Observable 接口来更新 View。但在我的情况下,有一个主屏幕和一个游戏屏幕,当用户单击主屏幕上的播放按钮时,我希望“视图”和 GUI 更改为 GameScreen。我想使用 2 个不同的视图(我认为)。
我在构建代码来实现这一点时遇到了麻烦,我不知道将 ActionEventListeners 放在哪里
【问题讨论】:
-
您的模型明确要求控制器提供另一个特定视图?如果是这样,它不是这样做的方法。 MVC 的优点之一是您可以切换视图以在同一模型上工作(例如桌面或 Web ui)
-
能贴出相关代码吗?否则我们会在黑暗中拍摄。
-
我还在创建UML类图和序列图的阶段,所以我实际上还没有任何代码
标签: java user-interface model-view-controller