我被要求改造一个现有JDialog
的内部 Swing 应用程序的子容器。我将从头开始重写对话框,并被要求带头使 Swing 应用程序类似于真正的 MVC/MVP 架构(因此我的JDialog
改造将是对应用程序本身的许多支持 MVC 更改中的第一个)。
我理解 MVC/MVP,因为它与 Web 应用程序有关:
- 控制器 - 是 Web 应用程序框架为处理 HTTP 请求而调度的;通常由多个方法组成,其中每个“控制器方法”处理对稍微不同的 URL 的请求
- 模型 - 表示调用特定数据的 DAO 或 POJO/bean;控制器从数据库中获取模型并将其注入视图
- 视图 - 最终生成 HTML/JSP 并将被发送回客户端/请求者的机制
这不是所有MVC/MVP Web 框架的运作方式,而是总体思路。
但我正在努力确定如何将其转换为 Swing 应用程序。在 Swing 应用程序中,您有:
JDialog
本身_- 构成对话框“视图”的所有 UI 小部件(
JButtons
、JTextFields
等) - 所有 UI 小部件的操作/事件侦听器,它们共同构成“业务逻辑”,用于在用户与视图交互时对话框将如何操作
- 所有其他“UI 粘合代码”(设置将启用/禁用哪些小部件,设置它们在屏幕上的大小和位置,设置它们的工具提示文本等)
- 加上很多其他的东西
所以我问:我如何组织JDialog
使用 MVC/MVP 架构模式运行所需的所有代码?此外,如果有任何文章、教程或现有的开源项目展示 MVC/MVP Swing 应用程序,我也会对它们感兴趣。提前致谢!