什么是JTextComponents中的EditorKits以及它们的工作是什么?
我正在研究Swing程序中文本组件的结构。
据我所知, JTextComponent
主要分为视图和模型。 该模型是实现Document
的类的实例,包含所有文本并提供操作它的方法,以及View以可视方式呈现文本。
但是,我EditorKit
知道使用EditorKit
确切位置,方式和原因。 我不确定它是否封装(’拥有’)模型( Document
),或者Document是否封装它。 并且不确定视图在哪里适合所有这些。
所以有两个问题:
1-请描述JTextComponents
视图, Document
和EditorKit
之间的关系。 什么包含什么,什么与什么相互作用,以及为什么?
2-请解释EditorKit
的function和作用。
谢谢您的帮助
EditorKit是控制器之类的东西,允许使用指定的内容类型。 它引用了Document(模型)并监听更改。
EditorKit提供Reader和Writer来加载/存储特定类型的Document(例如HTMLDocument或RtfDocument)。 它还提供ViewFactory来为不同的Document元素(节点和叶子)创建视图。
此外,EditorKit还提供了内容类型可能的操作列表。
您可以尝试这样来查看如何创建和使用EditorKit。
EditorKit
是DefaultEditorKit
和StyledEditorKit
的抽象父类,它们都导出了对文本组件通用的Document
模型进行操作的有用Action
类。 在此示例中 ,编辑器工具包操作会更新Document
,间接更新侦听视图组件。 这里引用的Charles Bell的HTMLDocumentEditor
就是一个相关的例子。
来自http://docs.oracle.com/javase/tutorial/uiswing/components/generaltext.html “一种控制器,称为编辑器工具包,可以读取和写入文本,并通过操作实现编辑function。”