- java.lang.Object
-
- javax.swing.text.html.HTMLEditorKit.ParserCallback
-
- javax.swing.text.html.HTMLDocument.HTMLReader
-
- Enclosing class:
- HTMLDocument
public class HTMLDocument.HTMLReader extends HTMLEditorKit.ParserCallback
HTML读取器,用于加载HTML元素结构的HTML文档。 这是来自解析器的一组回调,用于创建一组标记有属性的元素。 解析器构建了描述所需元素子树的令牌(ElementSpec),并使用文档外部类上的insert方法在保护写锁定的情况下将其突发成文档。HTMLDocument.HTMLReader.TagAction所提供的动作背后的想法是,如果元素结构归结为具有某种风格的段落的段落,则可以提供最自然的文本编辑操作。 X- 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 20045 X- 200 X- 200 X- 20045 X- 这意味着,要解析的流中指定的一些HTML元素将被折叠为属性,在某些情况下,段将被合成。 当HTML元素已转换为属性时,属性键将为HTML.Tag类型,该值将为AttributeSet类型,因此不会丢失任何信息。 这使得许多现有的动作能够工作,以便用户可以输入输入,按回车键,退格键,删除等等,并得到合理的结果。 可以创建选择,应用或删除属性等。考虑到这一点,读者完成的工作可以分为以下几种任务:- 块
- 构建像在流中指定的结构。 这产生包含其他元素的元素。
- 段
- 200的X- 200 X- 200 X- 20045 X- 200 X- 20045 X- 20045ECEColECololEC X-
- 字符
- 将元素作为属性启动和停止在任意文本位置。 这将最终混合到文本的运行中,使用所有当前平展的HTML字符元素。
- 特别
- 生成嵌入式图形元素。
- 形成
- 生成一个像嵌入图形元素的元素,除了它还有一个与之相关的组件模型。
- 隐
- 新新新新旗新新新旗新新新旗新新旗新新旗新新旗新新旗新新旗旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗200新新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新 这有助于保持模型不会丢失信息,并用于存储诸如注释和无法识别的标签。
目前,不支持<APPLET>,<PARAM>,<MAP>,<AREA>,<LINK>,<SCRIPT>和<STYLE>。
所描述的动作的分配在
HTML tags and assigned actions Tag ActionHTML.Tag定义的标签的下表中HTML.Tag。HTML.Tag.ACharacterActionHTML.Tag.ADDRESSCharacterActionHTML.Tag.APPLETHiddenActionHTML.Tag.AREAAreaActionHTML.Tag.BCharacterActionHTML.Tag.BASEBaseActionHTML.Tag.BASEFONTCharacterActionHTML.Tag.BIGCharacterActionHTML.Tag.BLOCKQUOTEBlockActionHTML.Tag.BODYBlockActionHTML.Tag.BRSpecialActionHTML.Tag.CAPTIONBlockActionHTML.Tag.CENTERBlockActionHTML.Tag.CITECharacterActionHTML.Tag.CODECharacterActionHTML.Tag.DDBlockActionHTML.Tag.DFNCharacterActionHTML.Tag.DIRBlockActionHTML.Tag.DIVBlockActionHTML.Tag.DLBlockActionHTML.Tag.DTParagraphActionHTML.Tag.EMCharacterActionHTML.Tag.FONTCharacterActionHTML.Tag.FORMAs of 1.4 a BlockActionHTML.Tag.FRAMESpecialActionHTML.Tag.FRAMESETBlockActionHTML.Tag.H1ParagraphActionHTML.Tag.H2ParagraphActionHTML.Tag.H3ParagraphActionHTML.Tag.H4ParagraphActionHTML.Tag.H5ParagraphActionHTML.Tag.H6ParagraphActionHTML.Tag.HEADHeadActionHTML.Tag.HRSpecialActionHTML.Tag.HTMLBlockActionHTML.Tag.ICharacterActionHTML.Tag.IMGSpecialActionHTML.Tag.INPUTFormActionHTML.Tag.ISINDEXIsndexActionHTML.Tag.KBDCharacterActionHTML.Tag.LIBlockActionHTML.Tag.LINKLinkActionHTML.Tag.MAPMapActionHTML.Tag.MENUBlockActionHTML.Tag.METAMetaActionHTML.Tag.NOFRAMESBlockActionHTML.Tag.OBJECTSpecialActionHTML.Tag.OLBlockActionHTML.Tag.OPTIONFormActionHTML.Tag.PParagraphActionHTML.Tag.PARAMHiddenActionHTML.Tag.PREPreActionHTML.Tag.SAMPCharacterActionHTML.Tag.SCRIPTHiddenActionHTML.Tag.SELECTFormActionHTML.Tag.SMALLCharacterActionHTML.Tag.STRIKECharacterActionHTML.Tag.SCharacterActionHTML.Tag.STRONGCharacterActionHTML.Tag.STYLEStyleActionHTML.Tag.SUBCharacterActionHTML.Tag.SUPCharacterActionHTML.Tag.TABLEBlockActionHTML.Tag.TDBlockActionHTML.Tag.TEXTAREAFormActionHTML.Tag.THBlockActionHTML.Tag.TITLETitleActionHTML.Tag.TRBlockActionHTML.Tag.TTCharacterActionHTML.Tag.UCharacterActionHTML.Tag.ULBlockActionHTML.Tag.VARCharacterAction遇到</ html>后,不再通知操作。
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 classHTMLDocument.HTMLReader.BlockAction默认情况下分配的操作来处理读取器的Block任务。classHTMLDocument.HTMLReader.CharacterAction默认分配的操作来处理读者的Character任务。classHTMLDocument.HTMLReader.FormAction通过构建用于表示表单控件的所有元素来支持表单的操作。classHTMLDocument.HTMLReader.HiddenAction默认分配的操作来处理读者的隐藏任务。classHTMLDocument.HTMLReader.IsindexAction默认情况下分配的操作来处理读取器的Isindex任务。classHTMLDocument.HTMLReader.ParagraphAction默认分配的操作来处理读者的Paragraph任务。classHTMLDocument.HTMLReader.PreAction默认情况下分配的操作来处理读卡器的Pre块任务。classHTMLDocument.HTMLReader.SpecialAction默认情况下分配的操作来处理读者的特殊任务。classHTMLDocument.HTMLReader.TagAction响应解析标签而执行的操作。
-
Field Summary
Fields Modifier and Type Field 描述 protected MutableAttributeSetcharAttr当前字符属性集。protected Vector<DefaultStyledDocument.ElementSpec>parseBuffer缓冲区以保持建筑元素。-
Fields inherited from class javax.swing.text.html.HTMLEditorKit.ParserCallback
IMPLIED
-
-
构造方法摘要
构造方法 Constructor 描述 HTMLReader(int offset)使用默认的弹出和推送深度构建HTMLReader,并且不插入任何标签。HTMLReader(int offset, int popDepth, int pushDepth, HTML.Tag insertTag)构造一个HTMLReader。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 protected voidaddContent(char[] data, int offs, int length)添加一些带有当前字符属性的文本。protected voidaddContent(char[] data, int offs, int length, boolean generateImpliedPIfNecessary)添加一些带有当前字符属性的文本。protected voidaddSpecialElement(HTML.Tag t, MutableAttributeSet a)添加基本上完全在属性集中指定的内容。protected voidblockClose(HTML.Tag t)向解析缓冲区添加指令以关闭给定类型的块元素。protected voidblockOpen(HTML.Tag t, MutableAttributeSet attr)向解析缓冲区添加指令以创建具有给定属性的块元素。voidflush()最后一个方法叫读者。voidhandleComment(char[] data, int pos)由解析器调用来指示遇到一段注释。voidhandleEndOfLineString(String eol)在流已经被解析之后,但在flush之前被调用。voidhandleEndTag(HTML.Tag t, int pos)从解析器回调。voidhandleSimpleTag(HTML.Tag t, MutableAttributeSet a, int pos)从解析器回调。voidhandleStartTag(HTML.Tag t, MutableAttributeSet a, int pos)从解析器回调。voidhandleText(char[] data, int pos)由解析器调用来指示遇到一个文本块。protected voidpopCharacterStyle()将先前推送的字符样式从堆栈中弹出以返回到先前的样式。protected voidpreContent(char[] data)添加在PRE元素中遇到的给定内容。protected voidpushCharacterStyle()在堆栈中推送当前字符样式,以准备形成新的嵌套字符样式。protected voidregisterTag(HTML.Tag t, HTMLDocument.HTMLReader.TagAction a)注册给定标签的处理程序。protected voidtextAreaContent(char[] data)将给定的内容添加到textarea文档。-
Methods inherited from class javax.swing.text.html.HTMLEditorKit.ParserCallback
handleError
-
-
-
-
字段详细信息
-
parseBuffer
protected Vector<DefaultStyledDocument.ElementSpec> parseBuffer
缓冲区以保持建筑元素。
-
charAttr
protected MutableAttributeSet charAttr
当前字符属性集。
-
-
构造方法详细信息
-
HTMLReader
public HTMLReader(int offset)
使用默认的弹出和推送深度构建HTMLReader,并且不插入任何标签。- 参数
-
offset- 起始偏移量
-
HTMLReader
public HTMLReader(int offset, int popDepth, int pushDepth, HTML.Tag insertTag)构造一个HTMLReader。- 参数
-
offset- 起始偏移 -
popDepth- 在插入新元素之前有多少父母登顶 -
pushDepth- 插入前有多少父母下降(相对于popDepth) -
insertTag- 要插入的标签(可能为空)
-
-
方法详细信息
-
flush
public void flush() throws BadLocationException最后一个方法叫读者。 它允许任何待处理的更改被刷新到文档中。 由于这是当前同步加载的,所以在这一点上推送了整套更改。- 重写:
-
flush在HTMLEditorKit.ParserCallback - 异常
-
BadLocationException- 如果给定的位置不表示相关文档中的有效位置。
-
handleText
public void handleText(char[] data, int pos)由解析器调用来指示遇到一个文本块。- 重写:
-
handleText在HTMLEditorKit.ParserCallback - 参数
-
data- 一个数据 -
pos- 一个位置
-
handleStartTag
public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos)
从解析器回调。 路由到标签的相应处理程序。- 重写:
-
handleStartTag在HTMLEditorKit.ParserCallback - 参数
-
t- 一个HTML标签 -
a- 一组属性 -
pos- 一个职位
-
handleComment
public void handleComment(char[] data, int pos)描述从类复制:HTMLEditorKit.ParserCallback由解析器调用来指示遇到一段注释。- 重写:
-
handleComment在HTMLEditorKit.ParserCallback - 参数
-
data- 一个数据 -
pos- 一个职位
-
handleEndTag
public void handleEndTag(HTML.Tag t, int pos)
从解析器回调。 路由到标签的相应处理程序。- 重写:
-
handleEndTag在HTMLEditorKit.ParserCallback - 参数
-
t- 一个HTML标签 -
pos- 一个位置
-
handleSimpleTag
public void handleSimpleTag(HTML.Tag t, MutableAttributeSet a, int pos)
从解析器回调。 路由到标签的相应处理程序。- 重写:
-
handleSimpleTag在类HTMLEditorKit.ParserCallback - 参数
-
t- 一个HTML标签 -
a- 一组属性 -
pos- 一个位置
-
handleEndOfLineString
public void handleEndOfLineString(String eol)
在流已解析后,但在flush之前flush。eol将是\ n,\ r或\ r \ n之一,在解析流中遇到最多。- 重写:
-
handleEndOfLineString在HTMLEditorKit.ParserCallback - 参数
-
eol- eol的价值 - 从以下版本开始:
- 1.3
-
registerTag
protected void registerTag(HTML.Tag t, HTMLDocument.HTMLReader.TagAction a)
注册给定标签的处理程序。 默认情况下,所有的知名标签都将被注册。 这可以用于更改特定标签的处理或添加对自定义标签的支持。- 参数
-
t- 一个HTML标签 -
a- 标签操作处理程序
-
pushCharacterStyle
protected void pushCharacterStyle()
在堆栈中推送当前字符样式,以准备形成新的嵌套字符样式。
-
popCharacterStyle
protected void popCharacterStyle()
将先前推送的字符样式从堆栈中弹出以返回到先前的样式。
-
textAreaContent
protected void textAreaContent(char[] data)
将给定的内容添加到textarea文档。 当我们在一个textarea上下文中时,这个方法被调用。 因此,所有看到的文本属于文本区域,因此被添加到与文本区域相关联的TextAreaDocument中。- 参数
-
data- 给定的内容
-
preContent
protected void preContent(char[] data)
添加在PRE元素中遇到的给定内容。 这样可以合并行来保存文本的运行,并调用addContent来实际添加文本。- 参数
-
data- 给定的内容
-
blockOpen
protected void blockOpen(HTML.Tag t, MutableAttributeSet attr)
向解析缓冲区添加指令以创建具有给定属性的块元素。- 参数
-
t- 一个HTML标签 -
attr- 属性集
-
blockClose
protected void blockClose(HTML.Tag t)
向解析缓冲区添加指令以关闭给定类型的块元素。- 参数
-
t- HTML标签
-
addContent
protected void addContent(char[] data, int offs, int length)添加一些带有当前字符属性的文本。- 参数
-
data- 要添加的内容 -
offs- 初始偏移量 -
length- 长度
-
addContent
protected void addContent(char[] data, int offs, int length, boolean generateImpliedPIfNecessary)添加一些带有当前字符属性的文本。- 参数
-
data- 要添加的内容 -
offs- 初始偏移量 -
length- 长度 -
generateImpliedPIfNecessary- 是否生成隐含段落
-
addSpecialElement
protected void addSpecialElement(HTML.Tag t, MutableAttributeSet a)
添加基本上完全在属性集中指定的内容。- 参数
-
t- 一个HTML标签 -
a- the attribute set
-
-