我正在研究Swing程序中文本组件的结构。
据我了解,JTextComponent
本质上分为视图和模型。该模型是实现Document
的类的实例,该类包含所有文本并提供操作它的方法,而View则以可视方式呈现文本。
但是我不确切知道在哪里,如何以及为什么使用EditorKit
。我不确定它是否封装(“拥有”)模型(Document
),或者文档是否对其进行封装。而且不确定所有这些视图在哪里适合。
有两个问题:
1- 请在Document
中描述视图,EditorKit
和JTextComponents
之间的关系。什么封装了什么,什么与什么相互作用,为什么?
2- 请说明EditorKit
的功能和作用。
谢谢您的帮助
最佳答案
EditorKit就像控制器一样,允许使用指定的内容类型。它具有对文档(模型)的引用并监听更改。
EditorKit提供了Reader和Writer来加载/存储特定类型的文档(例如HTMLDocument或RtfDocument)。它还提供ViewFactory来为不同Document的元素(节点和叶子)创建视图。
EditorKit还提供了针对内容类型可能采取的措施的列表。
您可以尝试this来查看如何创建和使用EditorKit。