请给我一个Java SWING包中使用MVC模式的示例?
基本上,Swing组件本身就是一个控制器,它引用了一个视图和一个模型。
视图在JComponent.ui
字段中,该字段被所有Swing组件继承,并由Look&Feel机制用于提供Swing组件的不同视觉表示。
各个子类中有不同的setModel()
方法,使用不同的模型类型,如TableModel
或ButtonModel
,应用程序员可以实现这些模型来包含Swing UI显示和操作的实际数据。
看一下javax.swing.JTable和javax.swing.table.TableModel。 JTable是View,TableModel是Model,你编写的具有侦听器和事件的代码是控制器,它告诉View何时需要更新。
我非常擅长使用Martin Fowler的演示模型及其Java Swing实现。