首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java Swing中元素的用途及其与StyledDocument和段落的关系

java Swing中元素的用途及其与StyledDocument和段落的关系
EN

Stack Overflow用户
提问于 2011-01-24 12:10:11
回答 1查看 1.2K关注 0票数 3

我试图了解元素的用途,以及它如何帮助操作将显示在JEditorPane或JTextPane中的JEditorPane。我还试图理解它与“段落”概念的关系。

javax.swing.text.Element的javadoc几乎没有:

公共接口元素接口,用于描述文档的结构块。它旨在捕捉SGML元素的精神。

我非常熟悉HTML和XML中元素的概念,显然这是类似的东西,但我无法看出它与StyledDocument有关的目的。起初,我认为这只是StyledDocument内部用来管理不同样式的停止点和起始点的东西,但后来我在web上看到了它们使用元素实例的代码示例。

我已经有了自己的树状结构的数据,我需要显示在不同的字体和颜色,并遍历它将告诉我在哪里改变字体或颜色的需要。看起来,我可以通过对StyledDocument.setCharacterAttributessetParagraphAttributes,的一系列调用来满足眼前的需求,而无需亲自接触元素。

但我的印象是,使用元素会更有效或更干净。请帮助我正确地理解元素,以及它如何帮助StyledDocument和滑翔伞的概念,所以即使我现在不使用任何元素,我至少也会感激我所缺少的,并且知道是否和如何在下一个类似的情况下使用它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-24 13:42:03

实际上,DefaultStyledDocument是一棵元素树。有BranchElements和LeafElements。叶表示一段文本,文本属性有字体大小/样式、字体颜色属性--粗体、斜体、下划线等。BrachElement包含叶子或其他分支元素。在最简单的情况下,分支是段落。但是根元素也是BranchElement的实例。所有元素都可能有自己的AttributeSet。为了找到例如文本的颜色,叶元素的集合被要求。如果未定义颜色,则询问叶的父元素。

您可以使用它查看文档是如何表示的(模型)以及模型是如何在视图中表示的。http://java-sl.com/JEditorPaneStructureTool.html

该示例显示了HTMLDocument的结构,但您也可以使用相同的代码查看StyledEditorKit的结构

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4781792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档