Swing组件如何实现MVC架构?

发布于 2024-11-08 04:42:22 字数 53 浏览 0 评论 0原文

假设我有一个 JTextfield 。仅仅这个JTextfield是如何实现MVC架构的呢?

Suppose I have a JTextfield . How does only this JTextfield implement an MVC architecture?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

早茶月光 2024-11-15 04:42:22

所有 Java Swing 组件都使用 MVC,尽管从 API 中并不总是清楚的。每个组件都有一个控制器、模型和视图。 JTextField、JButton 等都是控制器。它们还都支持包含组件状态的 getModel()。许多 swing API 通过便捷的方法污染了控制器 api,因此这并不总是显而易见的。 JTextField 中显示的文本实际上保存在模型中。 textField.getText() 和 textField.setText() 实际上是为了方便您,它们真正做的是 textField.getModel().getText() 和 textField.getModel().setText()。

对于视图,有一个 UI getComponentUI()。这是由模型触发的 propertyChanges 更新的。 ComponentUI 可以让不同的 L&F 轻松开发。

All Java Swing components use MVC though its not always clear from the api. For each component there is a Controller, Model and View. JTextField, JButton, etc.. are all the Controllers. They also all support a getModel() which contains the state of the component. A lot of swing API pollute the controller api with convience methods so this is not always obvious. The text displayed in a JTextField is actually saved in the model. textField.getText() and textField.setText() are actually there for your convienence, what they really are doing is textField.getModel().getText() and textField.getModel().setText().

For the view there is a UI getComponentUI(). This is updated by propertyChanges fired from the Model. The ComponentUI is what lets different L&Fs be developed easily.

分開簡單 2024-11-15 04:42:22

文档就是模型。

除此之外,JTextField 与任何其他 Swing 组件一样实现 MVC。

The Document is the Model.

Other than that a JTextField implements MVC the same as any other Swing component.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文