提问者:小点点

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


我正在学习Swing程序中文本组件的结构。

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

但是,我不明白在哪里、如何以及为什么使用EditorKit。我不确定它是否封装('拥有')模型(Document),或者Document是否封装了它。并且不确定视图在所有这些中的位置。

所以两个问题:

1-请描述JTextComponents中视图、DocumentEditorKit之间的关系。什么封装了什么,什么与什么交互,为什么?

2-请解释EditorKit的功能和作用。

谢谢你的帮忙


共3个答案

匿名用户

EditorKit是类似控制器的东西,它允许使用指定的内容类型。它具有对文档(模型)的引用并监听更改。

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

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

您可以尝试一下如何创建和使用EditorKit。

匿名用户

EditorKitDefaultEditorKitStyledEditorKit的抽象父级,两者都导出有用的Action类,这些类对文本组件通用的Document模型进行操作。在这个例子中,编辑器套件操作更新了Document,它间接更新了监听视图组件。Charles Bell的HTMLDocumentEditor,这里引用的就是一个相关的例子。

匿名用户

摘自http://docs.oracle.com/javase/tutorial/uiswing/components/generaltext.html“一个控制器,称为编辑器套件,用于读取和写入文本并通过操作实现编辑功能。”