|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.swing.text.html.HTMLEditorKit.ParserCallback javax.swing.text.html.HTMLDocument.HTMLReader
public class HTMLDocument.HTMLReader
一个 HTML reader,用来加载具有 HTML 元素结构的 HTML 文档。这是一个从解析器的回调集合,实现的目的是为了创建用属性标记的元素集合。该解析构建用于描述所需元素子树的标记(ElementSpec),并使用文档外部类的插入方法以突发的形式将其插入处于写入锁定保护的文档中。
reader 可以由注册的动作(类型为 HTMLDocument.HTMLReader.TagAction
)来配置,该注册动作描述了如何处理动作。提供动作的意义在于,如果元素结构归结为其中具有某种样式的段落,则可以提供最自然的文本编辑操作。某些方面是更自然地从结构上指定的,因此应该允许段落具有任意结构,但需要用结构化动作来编辑它们。这里的含意在于,某些正在被解析的流中所指定的 HTML 元素将被折叠到属性中,并且在某些情况下将合成各个段落。当已经将 HTML 元素转换为属性时,属性键将为 HTML.Tag 类型,并且值将为 AttributeSet 类型,以便不丢失任何信息。这使许多现有动作得以工作,以便用户可以键入输入,单击回车键、退格键、删除键等等,并得到正确的结果。可以创建选项,应用或移除属性等等。考虑这点,reader 所做的工作可以分为以下几类任务:
目前不支持 <APPLET>、<PARAM>、<MAP>、<AREA>、<LINK>、<SCRIPT> 和 <STYLE>。
下表显示了为 HTML.Tag
中定义的标记所分配的动作。
标记 | 动作 |
---|---|
HTML.Tag.A | CharacterAction |
HTML.Tag.ADDRESS | CharacterAction |
HTML.Tag.APPLET | HiddenAction |
HTML.Tag.AREA | AreaAction |
HTML.Tag.B | CharacterAction |
HTML.Tag.BASE | BaseAction |
HTML.Tag.BASEFONT | CharacterAction |
HTML.Tag.BIG | CharacterAction |
HTML.Tag.BLOCKQUOTE | BlockAction |
HTML.Tag.BODY | BlockAction |
HTML.Tag.BR | SpecialAction |
HTML.Tag.CAPTION | BlockAction |
HTML.Tag.CENTER | BlockAction |
HTML.Tag.CITE | CharacterAction |
HTML.Tag.CODE | CharacterAction |
HTML.Tag.DD | BlockAction |
HTML.Tag.DFN | CharacterAction |
HTML.Tag.DIR | BlockAction |
HTML.Tag.DIV | BlockAction |
HTML.Tag.DL | BlockAction |
HTML.Tag.DT | ParagraphAction |
HTML.Tag.EM | CharacterAction |
HTML.Tag.FONT | CharacterAction |
HTML.Tag.FORM | 从 1.4 版本开始,为 BlockAction |
HTML.Tag.FRAME | SpecialAction |
HTML.Tag.FRAMESET | BlockAction |
HTML.Tag.H1 | ParagraphAction |
HTML.Tag.H2 | ParagraphAction |
HTML.Tag.H3 | ParagraphAction |
HTML.Tag.H4 | ParagraphAction |
HTML.Tag.H5 | ParagraphAction |
HTML.Tag.H6 | ParagraphAction |
HTML.Tag.HEAD | HeadAction |
HTML.Tag.HR | SpecialAction |
HTML.Tag.HTML | BlockAction |
HTML.Tag.I | CharacterAction |
HTML.Tag.IMG | SpecialAction |
HTML.Tag.INPUT | FormAction |
HTML.Tag.ISINDEX | IsndexAction |
HTML.Tag.KBD | CharacterAction |
HTML.Tag.LI | BlockAction |
HTML.Tag.LINK | LinkAction |
HTML.Tag.MAP | MapAction |
HTML.Tag.MENU | BlockAction |
HTML.Tag.META | MetaAction |
HTML.Tag.NOFRAMES | BlockAction |
HTML.Tag.OBJECT | SpecialAction |
HTML.Tag.OL | BlockAction |
HTML.Tag.OPTION | FormAction |
HTML.Tag.P | ParagraphAction |
HTML.Tag.PARAM | HiddenAction |
HTML.Tag.PRE | PreAction |
HTML.Tag.SAMP | CharacterAction |
HTML.Tag.SCRIPT | HiddenAction |
HTML.Tag.SELECT | FormAction |
HTML.Tag.SMALL | CharacterAction |
HTML.Tag.STRIKE | CharacterAction |
HTML.Tag.S | CharacterAction |
HTML.Tag.STRONG | CharacterAction |
HTML.Tag.STYLE | StyleAction |
HTML.Tag.SUB | CharacterAction |
HTML.Tag.SUP | CharacterAction |
HTML.Tag.TABLE | BlockAction |
HTML.Tag.TD | BlockAction |
HTML.Tag.TEXTAREA | FormAction |
HTML.Tag.TH | BlockAction |
HTML.Tag.TITLE | TitleAction |
HTML.Tag.TR | BlockAction |
HTML.Tag.TT | CharacterAction |
HTML.Tag.U | CharacterAction |
HTML.Tag.UL | BlockAction |
HTML.Tag.VAR | CharacterAction |
一旦遇到 </html>,则不再通知 Action。
嵌套类摘要 | |
---|---|
class |
HTMLDocument.HTMLReader.BlockAction
|
class |
HTMLDocument.HTMLReader.CharacterAction
|
class |
HTMLDocument.HTMLReader.FormAction
此动作通过构建所有用于表示表单控件的元素来支持表单。 |
class |
HTMLDocument.HTMLReader.HiddenAction
|
class |
HTMLDocument.HTMLReader.IsindexAction
|
class |
HTMLDocument.HTMLReader.ParagraphAction
|
class |
HTMLDocument.HTMLReader.PreAction
|
class |
HTMLDocument.HTMLReader.SpecialAction
|
class |
HTMLDocument.HTMLReader.TagAction
为响应对标记的解析而执行的动作。 |
字段摘要 | |
---|---|
protected MutableAttributeSet |
charAttr
|
protected Vector<DefaultStyledDocument.ElementSpec> |
parseBuffer
|
从类 javax.swing.text.html.HTMLEditorKit.ParserCallback 继承的字段 |
---|
IMPLIED |
构造方法摘要 | |
---|---|
HTMLDocument.HTMLReader(int offset)
|
|
HTMLDocument.HTMLReader(int offset,
int popDepth,
int pushDepth,
HTML.Tag insertTag)
|
方法摘要 | |
---|---|
protected void |
addContent(char[] data,
int offs,
int length)
添加某个具有当前字符属性的文本。 |
protected void |
addContent(char[] data,
int offs,
int length,
boolean generateImpliedPIfNecessary)
添加某个具有当前字符属性的文本。 |
protected void |
addSpecialElement(HTML.Tag t,
MutableAttributeSet a)
添加基本上完全是在属性集中指定的内容。 |
protected void |
blockClose(HTML.Tag t)
向解析器缓冲区添加一条指令,以关闭给定类型的块元素。 |
protected void |
blockOpen(HTML.Tag t,
MutableAttributeSet attr)
向解析器缓冲区添加一条指令,以创建具有给定属性的块元素。 |
void |
flush()
在 reader 上调用的最后一个方法。 |
void |
handleComment(char[] data,
int pos)
|
void |
handleEndOfLineString(String eol)
它的调用是在完成流的解析之后且在调用 flush 之前。 |
void |
handleEndTag(HTML.Tag t,
int pos)
从解析器回调。 |
void |
handleSimpleTag(HTML.Tag t,
MutableAttributeSet a,
int pos)
从解析器回调。 |
void |
handleStartTag(HTML.Tag t,
MutableAttributeSet a,
int pos)
从解析器回调。 |
void |
handleText(char[] data,
int pos)
解析器调用它来指示遇到一个文本块。 |
protected void |
popCharacterStyle()
将以前压入堆栈的字符样式弹出,以返回以前的样式。 |
protected void |
preContent(char[] data)
添加在 PRE 元素中遇到的给定内容。 |
protected void |
pushCharacterStyle()
将当前字符样式压入堆栈,以准备形成新的嵌套字符样式。 |
protected void |
registerTag(HTML.Tag t,
HTMLDocument.HTMLReader.TagAction a)
注册给定标记的处理程序。 |
protected void |
textAreaContent(char[] data)
将给定的内容添加到 textarea 文档。 |
从类 javax.swing.text.html.HTMLEditorKit.ParserCallback 继承的方法 |
---|
handleError |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected Vector<DefaultStyledDocument.ElementSpec> parseBuffer
protected MutableAttributeSet charAttr
构造方法详细信息 |
---|
public HTMLDocument.HTMLReader(int offset)
public HTMLDocument.HTMLReader(int offset, int popDepth, int pushDepth, HTML.Tag insertTag)
方法详细信息 |
---|
public void flush() throws BadLocationException
HTMLEditorKit.ParserCallback
中的 flush
BadLocationException
public void handleText(char[] data, int pos)
HTMLEditorKit.ParserCallback
中的 handleText
public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos)
HTMLEditorKit.ParserCallback
中的 handleStartTag
public void handleComment(char[] data, int pos)
HTMLEditorKit.ParserCallback
中的 handleComment
public void handleEndTag(HTML.Tag t, int pos)
HTMLEditorKit.ParserCallback
中的 handleEndTag
public void handleSimpleTag(HTML.Tag t, MutableAttributeSet a, int pos)
HTMLEditorKit.ParserCallback
中的 handleSimpleTag
public void handleEndOfLineString(String eol)
flush
之前。eol
将是 \n、\r 或 \r\n 中的一个,它是在解析流时最常遇到的。
HTMLEditorKit.ParserCallback
中的 handleEndOfLineString
protected void registerTag(HTML.Tag t, HTMLDocument.HTMLReader.TagAction a)
protected void pushCharacterStyle()
protected void popCharacterStyle()
protected void textAreaContent(char[] data)
protected void preContent(char[] data)
protected void blockOpen(HTML.Tag t, MutableAttributeSet attr)
protected void blockClose(HTML.Tag t)
protected void addContent(char[] data, int offs, int length)
data
- 要添加的内容offs
- 初始偏移量length
- 长度protected void addContent(char[] data, int offs, int length, boolean generateImpliedPIfNecessary)
data
- 要添加的内容offs
- 初始偏移量length
- 长度generateImpliedPIfNecessary
- 是否生成隐含段protected void addSpecialElement(HTML.Tag t, MutableAttributeSet a)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。