说到MVC,大家都知道他是构建GUI的有力模型。不过MVC本身比较抽象和宽泛,所以对于它的实现有很多。
swing对于MVC的实现用一句话来说就是:一个GUI组件对应着一个MVC体系。
在这个体系当中JComponent这样的组件就扮演者MVC中的C,那拿JTable来说,MVC 就是 TableModel JT的able TableUI.
这种将MVC几乎实施到每一个GUI元素的设计相当的灵活.对于swing 的MVC还有一个重要的特点就是它对于model 作了进一步的区分,那就是真正表达程序数据的model,和仅仅表达界面状态的model.还拿JTable 来说就是: TableModel 与 TableColumnModel.
在很多地方看到都说swing的这种MVC的划分多被科学家欣赏,这我就不能苟同了,我是普通人,不过我也很欣赏.swing高雅而又不失实用.
当然也有人会说尽管swing的MVC很精彩,不过通常我们程序中model都不是仅仅对应在一个GUI元素上,甚至不能确定要对应在哪些GUI元素上.
定义这样的类通常仍然很死:
class MyModel implements TableModel,ListModel{
}
我觉得对于swing的设计没有什么错,它为每一个组件期待的model定义了相应的接口.但是我们程序当中的model又希望更独立于GUI.
为了达到两全其美,到可以使用Eclipse里面的IAdaptable
机制.让你的model具有 IAdaptable能力,这样你就可以将它随便适配到哪个swing model 上.如此的组合真是从头到脚的灵活性.
还有swing的这种MVC设计也促成了swing的可插拔外观特性.
分享到:
相关推荐
Swing MVC 代码 示例 Swing MVC 代码 示例
一个关于java Swing MVC 的开发实例,
Java Swing MVC使用
java swing MVC例子,学习swing不错。
此项目是用java swing编写的桌面应用程序,采用mvc设计模式进行分层,所使用的数据从xml文件读取,下载后可直接导入到工作空间运行
Swing MVC 观察者 系统托盘 SwingWorker 电子相册
swing中的mvc实例 mvc在swing中的体现
java swing的mvc模式的简单框架,应用了用观察者模式于gui和控制器之间,将gui作为一个对象传进控制器进行处理,这个简单框架的控制器那里还有待改进。这个代码中包含了使用框架的简单例子在里面
这是一个java swing 开发的 FTP 客户端程序,演示如何使用MVC模式,用到 edtFTPj-2.3.0.jar. 主要功能: 1)点击连接按钮,输入ftp服务器登录信息,连接到服务器; 2)双击左侧本地文件夹列表的任意文件,可以上传到...
Java-Swing-MVC的使用范例,供大家参考。希望能够得到好评哦
展示了Swing下的MVC各层级的结构
简单实现了Swing下的MVC设计;Controller中含View,Model属性以及View中各组件的响应事件;View只负责界面展示;Model负责数据接收;Controller负责1.View事件的响应,并将数据传递给业务层;2.接收业务层的数据给...
通过Java Swing看透MVC设计模式
SwingGlue引入了Swing的绑定层,以便获得更好的可维护性MVC(设计一个Java swing应用程序)。 SwingGlue将使UIDelegate原理更简单,更透明。
Java JDBC DAO SWING MVC 使用 Java 和JDBC 、模式DAO和MVC和 Swing 的示例必需的此应用程序需要: Java 1.5 或更高版本贡献如果您对此应用程序进行了改进,请与他人分享。 在 GitHub 上 fork 项目。 进行功能添加或...
编写模块化的Swing代码非常困难,这个简单的框架有助于在Swing中实现MVC。
Model-View-Controller (MVC) Design Pattern
天气预报小例子 Swing MVC
通过JavaSwing看透MVC设计模式PPT学习教案.pptx
整个gui采用mvc设计模式开发,很好的整合了swing的个知识点,含有源代码,非常适合swing进阶学习