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

时间:2014-05-01 18:33:57

标签: java swing user-interface text

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

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

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

所以有两个问题:

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

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

感谢您的帮助

3 个答案:

答案 0 :(得分:2)

EditorKitDefaultEditorKitStyledEditorKit的抽象父级,它们都导出了对Document模型共同运行的有用ActionDocument 3}}。在此text components中,编辑器套件操作会更新HTMLDocumentEditor,它会间接更新侦听视图组件。查尔斯贝尔的{{1}},引用example,是一个相关的例子。

image

答案 1 :(得分:2)

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

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

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

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

答案 2 :(得分:0)

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