java.lang.Object
javax.swing.text.AbstractWriter
javax.swing.text.html.MinimalHTMLWriter
MinimalHTMLWriter是HTMLEditorKit使用的回退写入器,用于为非EditorKit生成的文档编写HTML。文档的格式为:
<html> <head> <style> <!-- 命名样式列表 p.normal { font-family: SansSerif; margin-height: 0; font-size: 14 } --> </style> </head> <body> <p style=normal> 粗体、斜体和下划线属性 的运行被作为HTML标签发出。 其余属性作为<span>标签的style属性的一部分发出。 语法类似于内联样式。 </p> </body> </html>
-
Field Summary
Fields declared in class javax.swing.text.AbstractWriter
NEWLINE
-
Constructor Summary
ConstructorDescriptionMinimalHTMLWriter
(Writer w, StyledDocument doc) 创建一个新的MinimalHTMLWriter。MinimalHTMLWriter
(Writer w, StyledDocument doc, int pos, int len) 创建一个新的MinimalHTMLWriter。 -
Method Summary
Modifier and TypeMethodDescriptionprotected void
不再使用,而是将写入<span>。protected boolean
如果当前位于<font>标签中,则返回true。protected boolean
如果元素是文本元素,则返回true。protected void
startFontTag
(String style) 不再使用,而是将写入<span>。protected void
写出文本。void
write()
从StyledDocument生成HTML输出。protected void
writeAttributes
(AttributeSet attr) 写出以下类型的所有属性:StyleConstants.ParagraphConstants,StyleConstants.CharacterConstants,StyleConstants.FontConstants,StyleConstants.ColorConstants。protected void
遍历文档中的元素,并根据它们是分支元素还是叶子元素来处理元素。protected void
writeComponent
(Element elem) 负责处理组件元素;故意未实现。protected void
writeContent
(Element elem, boolean needsIndenting) 以符合HTML标准的方式写出属性集。protected void
发出<p>标签的结束标记。protected void
writeEndTag
(String endTag) 适当缩进地写出结束标记。protected void
写出<head>和<style>标签,然后调用writeStyles()将所有命名样式写出为<style>标签的内容。protected void
writeHTMLTags
(AttributeSet attr) 根据其属性设置生成粗体<b>,斜体<i>和下划线<u>标签的文本。protected void
writeImage
(Element elem) 负责处理图标元素;故意未实现。protected void
负责写出其他非文本叶子元素。protected void
以符合HTML标准的方式写出剩余的字符级属性(除粗体、斜体和下划线之外的属性)。protected void
writeStartParagraph
(Element elem) 发出段落的开始标记。protected void
writeStartTag
(String tag) 适当缩进地写出开始标记。protected void
将所有命名样式写出为<style>标签的内容。Methods declared in class javax.swing.text.AbstractWriter
decrIndent, getCanWrapLines, getCurrentLineLength, getDocument, getElementIterator, getEndOffset, getIndentLevel, getIndentSpace, getLineLength, getLineSeparator, getStartOffset, getText, getWriter, incrIndent, indent, inRange, isLineEmpty, output, setCanWrapLines, setCurrentLineLength, setIndentSpace, setLineLength, setLineSeparator, write, write, write, writeLineSeparator
-
Constructor Details
-
MinimalHTMLWriter
创建一个新的MinimalHTMLWriter。- 参数:
-
w
- Writer -
doc
- StyledDocument
-
MinimalHTMLWriter
创建一个新的MinimalHTMLWriter。- 参数:
-
w
- Writer -
doc
- StyledDocument -
pos
- 要获取内容的文档位置。 -
len
- 要写出的数量。
-
-
Method Details
-
write
从StyledDocument生成HTML输出。- 指定者:
-
write
在类AbstractWriter
- 抛出:
-
IOException
- 任何I/O错误 -
BadLocationException
- 如果pos表示文档中的无效位置。
-
writeAttributes
写出以下类型的所有属性:StyleConstants.ParagraphConstants,StyleConstants.CharacterConstants,StyleConstants.FontConstants,StyleConstants.ColorConstants。属性名和值由冒号分隔。每对由分号分隔。- 覆盖:
-
writeAttributes
在类AbstractWriter
- 参数:
-
attr
- 一个属性集。 - 抛出:
-
IOException
- 任何I/O错误
-
text
写出文本。- 覆盖:
-
text
在类AbstractWriter
- 参数:
-
elem
- 一个元素。 - 抛出:
-
IOException
- 任何I/O错误 -
BadLocationException
- 如果pos表示文档中的无效位置。
-
writeStartTag
适当缩进地写出开始标记。还会增加缩进级别。- 参数:
-
tag
- 一个开始标记。 - 抛出:
-
IOException
- 任何I/O错误
-
writeEndTag
适当缩进地写出结束标记。还会减少缩进级别。- 参数:
-
endTag
- 一个结束标记。 - 抛出:
-
IOException
- 任何I/O错误
-
writeHeader
写出<head>和<style>标签,然后调用writeStyles()将所有命名样式写出为<style>标签的内容。内容被包围在有效的HTML注释标记中,以确保文档在不支持该标签的应用程序/浏览器中可查看。- 抛出:
-
IOException
- 任何I/O错误
-
writeStyles
将所有命名样式写出为<style>标签的内容。- 抛出:
-
IOException
- 任何I/O错误
-
writeBody
遍历文档中的元素,并根据它们是分支元素还是叶子元素来处理元素。此方法特别处理文本的叶子元素。- 抛出:
-
IOException
- 任何I/O错误 -
BadLocationException
- 如果我们在文档中的无效位置。
-
writeEndParagraph
发出<p>标签的结束标记。在写出标记之前,此方法确保所有其他已打开的标记都适当关闭。- 抛出:
-
IOException
- 任何I/O错误
-
writeStartParagraph
发出段落的开始标记。如果段落与命名样式关联,则此方法还为<p>标签生成一个class属性,并将其值设置为样式的名称。- 参数:
-
elem
- 一个元素 - 抛出:
-
IOException
- 任何I/O错误
-
writeLeaf
负责写出其他非文本叶子元素。- 参数:
-
elem
- 一个元素 - 抛出:
-
IOException
- 任何I/O错误
-
writeImage
负责处理图标元素;故意未实现。如何实现此方法是一项政策问题。例如,如果要生成<img>标签,应该如何表示src属性(图像的位置)?在某些情况下,它可以是URL,在其他情况下,它可以从流中读取。- 参数:
-
elem
- 一个StyleConstants.IconElementName类型的元素 - 抛出:
-
IOException
- 如果发生I/O错误
-
writeComponent
负责处理组件元素;故意未实现。如何实现此方法是一项政策问题。- 参数:
-
elem
- 一个StyleConstants.ComponentElementName类型的元素 - 抛出:
-
IOException
- 如果发生I/O错误
-
isText
如果元素是文本元素,则返回true。- 参数:
-
elem
- 一个元素 - 返回:
-
如果元素是文本元素,则返回
true
。
-
writeContent
protected void writeContent(Element elem, boolean needsIndenting) throws IOException, BadLocationException 以符合HTML标准的方式写出属性集。- 参数:
-
elem
- 一个元素 -
needsIndenting
- 如果needsIndenting
为true
,则将添加缩进 - 抛出:
-
IOException
- 任何I/O错误 -
BadLocationException
- 如果pos表示文档中的无效位置。
-
writeHTMLTags
根据其属性设置生成粗体<b>,斜体<i>和下划线<u>标签的文本。- 参数:
-
attr
- 一组属性 - 抛出:
-
IOException
- 任何I/O错误
-
writeNonHTMLAttributes
以符合HTML规范的方式写出剩余的字符级属性(除粗体、斜体和下划线之外的属性)。鉴于诸如字体系列和字体大小之类的属性没有直接映射到HTML标签,将生成一个<span>标签,并设置其样式属性,其中包含剩余属性的列表,就像内联样式一样。- 参数:
-
attr
- 一组属性 - 抛出:
-
IOException
- 在任何I/O错误时
-
inFontTag
protected boolean inFontTag()如果当前位于<font>标签中,则返回true。- 返回:
-
true
如果当前位于<font>标签中。
-
endFontTag
不再使用此方法,而是将写出<span>。为<font>标签写出结束标记。
- 抛出:
-
IOException
- 在任何I/O错误时
-
startFontTag
不再使用此方法,而是将写出<span>。为<font>标签写出开始标记。因为字体标签不能嵌套,此方法在写出新的开始标记之前关闭任何包含的字体标签。
- 参数:
-
style
- 字体样式 - 抛出:
-
IOException
- 在任何I/O错误时
-