我正在研究Swing程序中文本组件的结构。
据我了解,JTextComponent
基本上分为视图和模型。该模型是实现Document
的类的实例,包含所有文本并提供操作它的方法,以及View以可视方式呈现文本。
但是,我并不确切了解EditorKit
的使用位置,方式和原因。我不确定它是否封装了('拥有')模型(Document
),或者文件是否封装了它。并且不确定视图在哪里适合所有这些。
所以有两个问题:
1 - 请描述Document
中视图EditorKit
和JTextComponents
之间的关系。什么包含什么,什么与什么相互作用,以及为什么?
2 - 请解释EditorKit
的功能和作用。
感谢您的帮助
答案 0 :(得分:2)
EditorKit
是DefaultEditorKit
和StyledEditorKit
的抽象父级,它们都导出了对Document
模型共同运行的有用Action
类Document
3}}。在此text components中,编辑器套件操作会更新HTMLDocumentEditor
,它会间接更新侦听视图组件。查尔斯贝尔的{{1}},引用example,是一个相关的例子。
答案 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"一种称为编辑器工具包的控制器,可以读取和写入文本,并通过操作实现编辑功能。"