|
JavaTM 2 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 型別,以便不丟失任何資訊。這使許多現有動作得以工作,以便使用者可以鍵入輸入,單擊回車(Enter)鍵、退格鍵、刪除鍵等等,並得到正確的結果。可以創建選項,應用或移除屬性等等。考慮這點,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()
將以前壓入堆疊(stack)空間的字元樣式彈出,以返回以前的樣式。 |
protected void |
preContent(char[] data)
添加在 PRE 元素中遇到的給定內容。 |
protected void |
pushCharacterStyle()
將當前字元樣式壓入堆疊(stack)空間,以準備形成新的巢狀字元樣式。 |
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 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。