小编Ped*_*rte的帖子

JAVA Swing MVC - 主控制器?

我在设计我正在尝试开发的应用程序的体系结构时遇到了一些麻烦.我正在研究JAVA,我开始研究这个应用程序,因为我想加深我对JAVA,架构和模式的整体了解.我想按照指南来制作一个可重用,低耦合的应用程序,就像它应该的那样.该应用程序只有一个JFrame,但在其中有几个JPanel,每个JPanel代表一个应用程序的模块.

问题是:在JAVA Swing中,如何实现适当的MVC模式?我在如何理解它应该如何完成的方式上挣扎.

我是否应该拥有一个主控制器类,它包含对所有其他控制器的引用?(我有一张图片来证明这一点,在这里:https://docs.google.com/file/d/0B7tBdn5slIFeY2FoSmxESTREQ1k/edit?usp =sharing)

在这种情况下,是否所有需要更改正在呈现的模块的事件都会重定向到主控制器?

或者我应该将JFrame与应用程序的控制器耦合,并直接与它们通信?

基本上,我想知道我是否需要一个"管理"所有其他课程.我已经阅读了几个解释和不同的意见,但我相信这有点具体.

希望我已经清楚了(并希望我的解释比我的绘图更好:)).

编辑: 应用程序用法的示例:

  • 应用程序的整个生命周期中的一个(仅一个)JFrame;
  • 菜单将在左侧,如BorderLayout.WEST;
  • 应用程序的当前模块将位于中心,如BorderLayout.CENTER;
  • 当用户按下菜单的一个按钮时,相应的模块被加载到BorderLayout.CENTER;

菜单(View)是否应该拥有自己的Controller,并且此Controller与JFrame通信?JFrame将新模块加载到它的布局中?或者JFrame应该有自己的控制器(或模型,如Gilbert Le Blanc所说)?

我知道这可能看似具体,或易于理解,但每当我想到桌面应用程序时,我都很难理解这一点.

java model-view-controller swing controller

5
推荐指数
1
解决办法
4942
查看次数

标签 统计

controller ×1

java ×1

model-view-controller ×1

swing ×1