|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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 の構造 block を表す要素です。 |
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 |
インタフェース javax.swing.text.Document から継承したフィールド |
StreamDescriptionProperty, TitleProperty |
コンストラクタの概要 | |
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)
テキストを直接表す (子を持たない) ドキュメントの葉の要素を作成します。 |
protected void |
fireChangedUpdate(DocumentEvent e)
このイベントタイプへの通知を配信対象に登録しているリスナーをすべて通知します。 |
protected void |
fireUndoableEditUpdate(UndoableEditEvent e)
このイベントタイプへの通知を配信対象に登録しているリスナーをすべて通知します。 |
URL |
getBase()
相対 URL を解決処理する位置を設定します。 |
Element |
getElement(Element e,
Object attribute,
Object value)
属性を持った e の子要素である value 値を含む attribute を返します。 |
Element |
getElement(String id)
指定された id 属性を含んだ要素を取り出します。 |
HTMLDocument.Iterator |
getIterator(HTML.Tag t)
後続する HTML タグの種類の反復子を取得します。 |
HTMLEditorKit.Parser |
getParser()
既存のドキュメントに 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)
新しい要素を一括して挿入します。 |
void |
insertAfterEnd(Element elem,
String htmlText)
指定要素が終了後に文字列として指定された HTML を挿入します。 |
void |
insertAfterStart(Element elem,
String htmlText)
要素の開始位置に文字列として指定された HTML を挿入します。 |
void |
insertBeforeEnd(Element elem,
String htmlText)
要素の終了位置に文字列として指定された HTML を挿入します。 |
void |
insertBeforeStart(Element elem,
String htmlText)
指定された要素が開始される前に文字列として指定された HTML を挿入します。 |
protected void |
insertUpdate(AbstractDocument.DefaultDocumentEvent chng,
AttributeSet attr)
テキストの挿入に応じてドキュメントを更新します。 |
void |
processHTMLFrameHyperlinkEvent(HTMLFrameHyperlinkEvent e)
HTML フレーム内でドキュメントによって生成された HyperlinkEvent の処理をします。 |
void |
setBase(URL u)
相対 URL を解決処理する位置を設定します。 |
void |
setInnerHTML(Element elem,
String htmlText)
指定された要素の子を HTML 文字列として指定されたコンテンツと置き換えます。 |
void |
setOuterHTML(Element elem,
String htmlText)
指定された親の要素を HTML 文字列として指定されたコンテンツと置き換えます。 |
void |
setParagraphAttributes(int offset,
int length,
AttributeSet s,
boolean replace)
段落に属性を設定します。 |
void |
setParser(HTMLEditorKit.Parser parser)
既存のドキュメントに setInnerHTML や setOuterHTML などの html を挿入するときにメソッドが使用するパーサを設定します。
|
void |
setPreservesUnknownTags(boolean preservesTags)
未知のタグを処理する方法を設定します。 |
void |
setTokenThreshold(int n)
ドキュメントの要素構造の更新前に、バッファに格納されるトークンの数を設定します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
インタフェース javax.swing.text.Document から継承したメソッド |
addUndoableEditListener, createPosition, getEndPosition, getLength, getProperty, getRootElements, getStartPosition, getText, getText, insertString, putProperty, remove, removeUndoableEditListener, render |
フィールドの詳細 |
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.EndTagType タグの数pushDepth
- 終了タグの生成後、挿入前に生成される ElementSpec.JoinNextDirection の方向を持つ ElementSpec.StartTagType のタグの数insertTag
- ドキュメントへの挿入を開始する最初のタグpublic URL getBase()
public void setBase(URL u)
StyleSheet のベースを u
とレシーバに設定します。
protected void insert(int offset, DefaultStyledDocument.ElementSpec[] data) throws BadLocationException
DefaultStyledDocument
内の insert
offset
- 開始オフセットdata
- 要素データBadLocationException
- 指定された位置が、関連するドキュメント内の有効な位置を表さない場合protected void insertUpdate(AbstractDocument.DefaultDocumentEvent chng, AttributeSet attr)
DefaultStyledDocument
内の insertUpdate
chng
- ドキュメント変更の説明attr
- 属性protected void create(DefaultStyledDocument.ElementSpec[] data)
DefaultStyledDocument
内の create
public void setParagraphAttributes(int offset, int length, AttributeSet s, boolean replace)
このメソッドはスレッドに対して安全ですが、ほとんどの Swing メソッドは違います。詳細は、「Threads and Swing」を参照してください。
DefaultStyledDocument
内の setParagraphAttributes
offset
- 段落に対するオフセット (最小でも 0 でなければならない)length
- 影響を受ける文字数 (最小でも 0 でなければならない)s
- 属性replace
- 既存の属性を置換するか、マージするかpublic StyleSheet getStyleSheet()
public HTMLDocument.Iterator getIterator(HTML.Tag t)
protected Element createLeafElement(Element parent, AttributeSet a, int p0, int p1)
HTMLDocument.RunElement
型の要素を返すために実装されます。AbstractDocument
内の createLeafElement
parent
- 親要素a
- 要素の属性p0
- 範囲の始点 (最小でも 0 でなければならない)p1
- 範囲の終点 (最小でも p0 でなければならない)protected Element createBranchElement(Element parent, AttributeSet a)
HTMLDocument.BlockElement
型の要素を返すために実装されます。AbstractDocument
内の createBranchElement
parent
- 親要素a
- 属性protected AbstractDocument.AbstractElement createDefaultRoot()
DefaultStyledDocument
内の 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)
e
- イベントpublic void setParser(HTMLEditorKit.Parser parser)
setInnerHTML
や setOuterHTML
などの html を挿入するときにメソッドが使用するパーサを設定します。
HTMLEditorKit.createDefaultDocument
はパーサを設定します。手動で HTMLDocument ドキュメントを作成する場合は、それぞれに対応したパーサを設定するようにしてください。
public HTMLEditorKit.Parser getParser()
public void setInnerHTML(Element elem, String htmlText) throws BadLocationException, IOException
2 つ以上のイベントとして表示され、削除に続き n を挿入します。
正しく機能させるために、レシーバは HTMLEditorKit.Parser を用意する必要があります。これは、レシーバが HTMLEditorKit から createDefaultDocument
メソッドにより生成された場合です。
IllegalArgumentException
- elem
は葉IllegalStateException
- HTMLEditorKit.Parser がレシーバに設定されていない場合public void setOuterHTML(Element elem, String htmlText) throws BadLocationException, IOException
2 つ以上のイベントとして表示され、削除に続き n を挿入します。
葉を置きかえるときには、改行が必要な場合に改行があるかどうかを確認してください。これで追加要素が挿入されます。<img> を持つ改行を含んだ文字要素を置き換えようとする場合は、一つはイメージ用、もう一つは改行用に 2 つの要素を生成することになります。
要素の長さを置き換えると、2 つの要素で終了します。つまり、setOuterHTML(getCharacterElement(getLength()), "blah") が最終的に 2 つの葉要素になります。一つは blah を表し、もう一つは末尾要素を表します。
正しく機能させるために、レシーバは HTMLEditorKit.Parser を用意する必要があります。これは、レシーバが HTMLEditorKit から createDefaultDocument
メソッドにより生成された場合です。
IllegalStateException
- HTMLEditorKit.Parser がレシーバに設定されていない場合public void insertAfterStart(Element elem, String htmlText) throws BadLocationException, IOException
正しく機能させるために、レシーバは HTMLEditorKit.Parser を用意する必要があります。これは、レシーバが HTMLEditorKit から createDefaultDocument
メソッドにより生成された場合です。
IllegalStateException
- HTMLEditorKit.Parser がレシーバに設定されていない場合public void insertBeforeEnd(Element elem, String htmlText) throws BadLocationException, IOException
elem
の子が葉の場合、elem.getEndOffset() - 1
が改行である位置の文字に、改行後にテキストがないようにするために改行前に挿入します。
正しく機能させるために、レシーバは HTMLEditorKit.Parser を用意する必要があります。これは、レシーバが HTMLEditorKit から createDefaultDocument
メソッドにより生成された場合です。
IllegalStateException
- HTMLEditorKit.Parser がレシーバに設定されていない場合public void insertBeforeStart(Element elem, String htmlText) throws BadLocationException, IOException
正しく機能させるために、レシーバは HTMLEditorKit.Parser を用意する必要があります。これは、レシーバが HTMLEditorKit から createDefaultDocument
メソッドにより生成された場合です。
IllegalStateException
- HTMLEditorKit.Parser がレシーバに設定されていない場合public void insertAfterEnd(Element elem, String htmlText) throws BadLocationException, IOException
正しく機能させるために、レシーバは HTMLEditorKit.Parser を用意する必要があります。これは、レシーバが HTMLEditorKit から createDefaultDocument
メソッドにより生成された場合です。
IllegalStateException
- HTMLEditorKit.Parser がレシーバに設定されていない場合public Element getElement(String id)
public Element getElement(Element e, Object attribute, Object value)
e
の子要素である value
値を含む attribute
を返します。見つからない場合は null。このメソッドはスレッドに対して安全ではありません。protected void fireChangedUpdate(DocumentEvent e)
AbstractDocument
内の fireChangedUpdate
e
- イベントEventListenerList
protected void fireUndoableEditUpdate(UndoableEditEvent e)
AbstractDocument
内の fireUndoableEditUpdate
e
- イベントEventListenerList
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.