|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--javax.swing.text.AbstractDocument | +--javax.swing.text.DefaultStyledDocument | +--javax.swing.text.html.HTMLDocument
HTML をモデル化するドキュメントです。このモデルの目的は、ドキュメントのブラウズと編集の両方をサポートすることです。このため、HTML ドキュメントによって記述された構造は、デフォルトでは正確に複製されません。デフォルトでモデル化される要素構造は、HTMLDocument.HTMLReader
クラスによって構築されます。このクラスは、パーサに必要な HTMLEditorKit.ParserCallback
プロトコルを実装しています。構造を変更するには、HTMLReader クラスをサブクラス化し、getReader メソッドを実装し直して新しいリーダの実装を返すようにします。作成されるデフォルトの構造については、HTMLReader のマニュアルを参照してください。デフォルトの構造は、ドキュメントの内容が損なわれないことを意図して実装されていますが、HTML 形式を生成し直すときに異なった形式になることもあります。
このドキュメントは、HTML だけをモデル化しており、ビューの属性はドキュメント内に格納されません。要素は、StyleContext.NameAttribute
属性によって識別されます。この属性は必ず、要素の種類を識別する HTML.Tag
型の値を持っています。コメントのように、合成される要素もあります。HTMLFactory はこの属性を使って構築するビューの種類を決定します。
このドキュメントは、追加読み込みをサポートしています。TokenThreshold
プロパティにより、どれくらいの量の解析がバッファに格納されるとドキュメントの要素構造の更新を行うかを制御します。このプロパティは、EditorKit で設定されるため、サブクラスから無効にすることができます。
Base
は、相対 URL をどの URL に解決するかを決定します。プロパティの値が URL の場合、デフォルトでは、Base
は、Document.StreamDescriptionProperty
になります。<base> タグが検出された場合、ベースは、タグで指定された URL になります。ベース URL はプロパティなので、直接設定することができます。
このドキュメントで使用するデフォルトのコンテンツ記憶機構は、ギャップバッファ (GapContent) です。別の機構を指定するには、Content の実装を引数に取るコンストラクタを使います。
内部クラスの概要 | |
class |
HTMLDocument.BlockElement
HTML の構造「ブロック」を表す要素です。 |
class |
HTMLDocument.HTMLReader
HTML ドキュメントを HTML 要素構造とともにロードするための HTML リーダです。 |
static class |
HTMLDocument.Iterator
特定のタイプのタグに対して繰り返し処理を実行する反復子です。 |
class |
HTMLDocument.RunElement
HTML 文字レベル属性のセットが割り当てられているテキストのチャンクを表す要素です。 |
フィールドの概要 | |
static String |
AdditionalComments
ドキュメントプロパティのキーの値です。 |
クラス javax.swing.text.DefaultStyledDocument から継承したフィールド |
buffer,
BUFFER_SIZE_DEFAULT |
クラス javax.swing.text.AbstractDocument から継承したフィールド |
BAD_LOCATION,
BidiElementName,
ContentElementName,
ElementNameAttribute,
listenerList,
ParagraphElementName,
SectionElementName |
コンストラクタの概要 | |
HTMLDocument()
HTML ドキュメントを構築します。 |
|
HTMLDocument(AbstractDocument.Content c,
StyleSheet styles)
指定されたコンテンツ記憶域の実装と、指定されたスタイル/属性記憶機構とを使って HTML ドキュメントを作成します。 |
|
HTMLDocument(StyleSheet styles)
デフォルトのコンテンツ記憶域の実装と、指定されたスタイル/属性記憶機構とを使って HTML ドキュメントを構築します。 |
メソッドの概要 | |
protected void |
create(DefaultStyledDocument.ElementSpec[] data)
ドキュメントのコンテンツを、指定された要素仕様に置換します。 |
protected Element |
createBranchElement(Element parent,
AttributeSet a)
他の要素を格納できるドキュメントの枝の要素を作成します。 |
protected AbstractDocument.AbstractElement |
createDefaultRoot()
デフォルトのドキュメント構造を表すのに使われるルート要素を作成します。 |
protected Element |
createLeafElement(Element parent,
AttributeSet a,
int p0,
int p1)
テキストを直接表す (子を持たない) ドキュメントの葉の要素を作成します。 |
URL |
getBase()
相対 URL を解決処理するための位置を取得します。 |
HTMLDocument.Iterator |
getIterator(HTML.Tag t)
後続する HTML タグの種類の反復子を取得します。 |
boolean |
getPreservesUnknownTags()
|
HTMLEditorKit.ParserCallback |
getReader(int pos)
パーサが HTML ドキュメントをロードするために使うリーダを取得します。 |
HTMLEditorKit.ParserCallback |
getReader(int pos,
int popDepth,
int pushDepth,
HTML.Tag insertTag)
パーサが HTML ドキュメントをロードするために使うリーダを取得します。 |
StyleSheet |
getStyleSheet()
HTML ドキュメント自体が指定するドキュメント固有の表示規則 (CSS) を持つ、 StyleSheet を取得します。 |
int |
getTokenThreshold()
ドキュメントの要素構造の更新を試みるまでに、バッファに格納されるトークンの数を取得します。 |
protected void |
insert(int offset,
DefaultStyledDocument.ElementSpec[] data)
新しい要素を一括して挿入します。 |
protected void |
insertUpdate(AbstractDocument.DefaultDocumentEvent chng,
AttributeSet attr)
テキストの挿入に応じてドキュメントを更新します。 |
void |
processHTMLFrameHyperlinkEvent(HTMLFrameHyperlinkEvent e)
HTML フレーム内でドキュメントによって生成された HyperlinkEvent の処理を担当します。 |
void |
setBase(URL u)
相対 URL を解決処理する位置を設定します。 |
void |
setPreservesUnknownTags(boolean preservesTags)
未知のタグを処理する方法を設定します。 |
void |
setTokenThreshold(int n)
ドキュメントの要素構造の更新を試みるまでに、バッファに格納されるトークンの数を設定します。 |
クラス java.lang.Object から継承したメソッド |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
フィールドの詳細 |
public static final String AdditionalComments
コンストラクタの詳細 |
public HTMLDocument()
public HTMLDocument(StyleSheet styles)
styles
- スタイルpublic HTMLDocument(AbstractDocument.Content c, StyleSheet styles)
c
- コンテンツのコンテナstyles
- スタイルメソッドの詳細 |
public HTMLEditorKit.ParserCallback getReader(int pos)
public HTMLEditorKit.ParserCallback getReader(int pos, int popDepth, int pushDepth, HTML.Tag insertTag)
popDepth
- 挿入の前に生成する必要がある ElementSpec.EndTagTag の数pushDepth
- 終了タグの生成後、挿入の前に、生成する必要がある ElementSpec.JoinNextDirection の方向を持つ ElementSpec.StartTagType タグの数insertTag
- ドキュメントへの挿入を開始する最初のタグpublic URL getBase()
public void setBase(URL u)
protected void insert(int offset, DefaultStyledDocument.ElementSpec[] data) throws BadLocationException
offset
- 開始オフセットStyledDocument#insert
protected void insertUpdate(AbstractDocument.DefaultDocumentEvent chng, AttributeSet attr)
chng
- ドキュメントの変更の説明attr
- 属性protected void create(DefaultStyledDocument.ElementSpec[] data)
public StyleSheet getStyleSheet()
public HTMLDocument.Iterator getIterator(HTML.Tag t)
protected Element createLeafElement(Element parent, AttributeSet a, int p0, int p1)
HTMLDocument.RunElement
型の要素を返すために実装されます。parent
- 親要素a
- 要素の属性p0
- 範囲の先頭 >= 0p1
- 範囲の最後 >= p0protected Element createBranchElement(Element parent, AttributeSet a)
HTMLDocument.BlockElement
型の要素を返すために実装されます。parent
- 親要素a
- 属性protected AbstractDocument.AbstractElement createDefaultRoot()
public void setTokenThreshold(int n)
public int getTokenThreshold()
Integer.MAX_VALUE
です。public void setPreservesUnknownTags(boolean preservesTags)
public boolean getPreservesUnknownTags()
public void processHTMLFrameHyperlinkEvent(HTMLFrameHyperlinkEvent e)
1) _self 2) _parent 3) _top 4) フレームの名前
ターゲットが _self の場合、HTML.Attribute.SRC の値を変更するアクションが発生し、ChangedUpdate イベントをトリガーします。
ターゲットが _parent の場合、<frameset> 要素である親要素を削除し、新しい <frame> 要素を挿入したあと、HTML.Attribute.SRC 属性が宛先の URL と等しい値を持つように設定して RemovedUpdate および InsertUpdate をトリガーします。
ターゲットが _top の場合、このメソッドは何も処理を行いません。_top は、フレーム用のビューの実装 (具体的には FrameView) で処理されます。_top はドキュメント全体の置き換えを意味するため、置換対象ドキュメントの外部で処理してください。
ターゲットがフレーム名の場合、ターゲットと同じ名前の要素を要素階層から探し、その要素の HTML.Attribute.SRC 属性を更新して ChangedUpdate イベントをトリガーします。
HTMLFrameHyperLinkEvent
-
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |