|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--javax.swing.text.html.HTMLEditorKit.ParserCallback | +--javax.swing.text.html.HTMLDocument.HTMLReader
HTML ドキュメントを HTML 要素構造とともにロードするための HTML リーダです。このクラスは、パーサからのコールバックのセットであり、属性のタグが付いた要素のセットを生成するために実装されます。解析は必要な要素サブツリーを記述するトークン群 (ElementSpec) を組み立て、これを書き込みロックのもとでドキュメントの外部クラスの挿入メソッドを使ってドキュメントに挿入します。
リーダを構成設定するには、アクションを処理する方法を記述した HTMLDocument.HTMLReader.TagAction
型のアクションを登録します。提供されているアクションの基本になっている考え方は、要素構造が結局のところなんらかの書式を持つ文字の並びから成る段落であれば、もっとも自然なテキストの編集オペレーションを提供できる、というものです。構造的に指定した方が自然な場合もあるので、段落上での任意の構造が許可されるようにすべきであり、その場合でも、構造的なアクションを使って編集する必要があります。つまり、解析中のストリームで指定されている HTML 要素の一部は、属性に折り畳まれ、場合によっては段落が合成されます。HTML 要素が属性に変換される場合、情報が失われないように属性キーは HTML.Tag 型になり、値は AttributeSet 型になります。これによって、既存のアクションの多くが機能するようになり、ユーザは入力をキーボードから入力したり、リターンキー、BackSpace キー、Delete キーなどを押して、その適切な結果を得ることができます。選択を生成したり、属性を適用したり削除することもできます。以上のことを考慮した上で、リーダが行う作業は次のようなタスクに分類できます。
現時点では、<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 |
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()
HTML リーダで呼び出される最後のメソッドです。 |
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)
テキスト領域ドキュメントに指定されたコンテンツを追加します。 |
クラス javax.swing.text.html.HTMLEditorKit.ParserCallback から継承したメソッド |
handleError |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
protected Vector 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)
protected void addContent(char[] data, int offs, int length, boolean generateImpliedPIfNecessary)
protected void addSpecialElement(HTML.Tag t, MutableAttributeSet a)
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.