什么是JTextComponents中的EditorKits以及它们的工作是什么?

我正在研究Swing程序中文本组件的结构。

据我所知, JTextComponent主要分为视图和模型。 该模型是实现Document的类的实例,包含所有文本并提供操作它的方法,以及View以可视方式呈现文本。

但是,我EditorKit知道使用EditorKit确切位置,方式和原因。 我不确定它是否封装(’拥有’)模型( Document ),或者Document是否封装它。 并且不确定视图在哪里适合所有这些。

所以有两个问题:

1-请描述JTextComponents视图, DocumentEditorKit之间的关系。 什么包含什么,什么与什么相互作用,以及为什么?

2-请解释EditorKit的function和作用。

谢谢您的帮助

EditorKit是控制器之类的东西,允许使用指定的内容类型。 它引用了Document(模型)并监听更改。

EditorKit提供Reader和Writer来加载/存储特定类型的Document(例如HTMLDocument或RtfDocument)。 它还提供ViewFactory来为不同的Document元素(节点和叶子)创建视图。

此外,EditorKit还提供了内容类型可能的操作列表。

您可以尝试这样来查看如何创建和使用EditorKit。

EditorKitDefaultEditorKitStyledEditorKit的抽象父类,它们都导出了对文本组件通用的Document模型进行操作的有用Action类。 在此示例中 ,编辑器工具包操作会更新Document ,间接更新侦听视图组件。 这里引用的Charles Bell的HTMLDocumentEditor就是一个相关的例子。

图片

来自http://docs.oracle.com/javase/tutorial/uiswing/components/generaltext.html “一种控制器,称为编辑器工具包,可以读取和写入文本,并通过操作实现编辑function。”