2011-05-17 32 views
3

假设我有一个JTextfield。这个JTextfield如何实现MVC架构?Swing组件如何实现MVC体系结构?

+1

可能重复[什么是Java Swing中的控制器?](http://stackoverflow.com/questions/5831388/what-is-the-controller-in-java-swing) – 2011-05-17 04:18:11

回答

4

所有Java Swing组件都使用MVC,尽管从api中并不总是清楚的。对于每个组件都有一个Controller,Model和View。 JTextField,JButton等等都是控制器。它们也都支持包含组件状态的getModel()。许多挥杆API污染控制器api容易方法,所以这并不总是显而易见的。显示在JTextField中的文本实际上保存在模型中。 textField.getText()和textField.setText()实际上就是为了您的轻松,他们真正在做的是textField.getModel()。getText()和textField.getModel()。setText()。

对于视图有一个UI getComponentUI()。这是通过从Model中触发的propertyChanges更新的。 ComponentUI可以轻松开发不同的Fs。

+4

我认为使用的模型是一个TextField是一个'Document',由'setDocument'和'getDocument'公开 – barjak 2011-05-18 12:13:07

3

该文档是模型。

除此之外,JTextField实现的MVC与任何其他Swing组件相同。