| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.swing.text.AbstractDocument
javax.swing.text.DefaultStyledDocument
javax.swing.text.html.HTMLDocument
public class HTMLDocument
HTML をモデル化するドキュメントです。このモデルの目的は、ドキュメントのブラウズと編集の両方をサポートすることです。このため、HTML ドキュメントによって記述された構造は、デフォルトでは正確に複製されません。デフォルトでモデル化される要素構造は、HTMLDocument.HTMLReader クラスによって構築されます。 このクラスは、パーサーに必要な HTMLEditorKit.ParserCallback プロトコルを実装しています。構造を変更するには、HTMLReader クラスをサブクラス化し、getReader(int) メソッドを実装し直して新しいリーダーの実装を返すようにします。生成されるデフォルトの構造については、HTMLReader のマニュアルを参照してください。デフォルトの構造は、ドキュメントの内容が損なわれないことを意図して実装されていますが、HTML 形式を生成し直すときに異なった形式になることもあります。
 
このドキュメントは、HTML だけをモデル化しており、ビューの属性はドキュメント内に格納されません。要素は、StyleContext.NameAttribute 属性によって識別されます。 この属性は必ず、要素の種類を識別する HTML.Tag 型の値を持っています。コメントのように、合成される要素もあります。HTMLFactory はこの属性を使って構築するビューの種類を決定します。
 
このドキュメントは、追加読み込みをサポートしています。TokenThreshold プロパティーにより、どれくらいの量の解析がバッファーに格納されるとドキュメントの要素構造の更新を行うかを制御します。このプロパティーは、EditorKit で設定されるため、サブクラスから無効にすることができます。
 
Base プロパティーは、相対 URL をどの URL に解決するかを決定します。プロパティーの値が URL の場合、デフォルトでは、Base プロパティーは、Document.StreamDescriptionProperty になります。<BASE> タグが検出された場合、ベースは、そのタグで指定された URL になります。ベース URL はプロパティーなので、直接設定できます。
 
このドキュメントで使用するデフォルトのコンテンツ記憶機構は、ギャップバッファー (GapContent) です。別の機構を指定するには、Content の実装を引数に取るコンストラクタを使います。
 
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。JDK Version 1.4 以降、すべての JavaBeans™ の長期間の運用サポートは、java.beans パッケージに追加されています。詳細は、XMLEncoder を参照してください。
| 入れ子のクラスの概要 | |
|---|---|
|  class | HTMLDocument.BlockElementHTML の構造ブロックを表す要素です。 | 
|  class | HTMLDocument.HTMLReaderHTML ドキュメントを HTML 要素構造とともにロードするための HTML リーダーです。 | 
| static class | HTMLDocument.Iterator特定のタイプのタグに対して繰り返し処理を実行する反復子です。 | 
|  class | HTMLDocument.RunElementHTML 文字レベル属性のセットが割り当てられているテキストのチャンクを表す要素です。 | 
| クラス javax.swing.text.DefaultStyledDocument から継承された入れ子のクラス/インタフェース | 
|---|
| DefaultStyledDocument.AttributeUndoableEdit, DefaultStyledDocument.ElementBuffer, DefaultStyledDocument.ElementSpec, DefaultStyledDocument.SectionElement | 
| クラス javax.swing.text.AbstractDocument から継承された入れ子のクラス/インタフェース | 
|---|
| AbstractDocument.AbstractElement, AbstractDocument.AttributeContext, AbstractDocument.BranchElement, AbstractDocument.Content, AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, AbstractDocument.LeafElement | 
| フィールドの概要 | |
|---|---|
| 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()デフォルトのバッファーサイズとデフォルトの StyleSheetを使用して 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)属性 (値 valueを持つattribute) を格納するeの子要素を返します。 | 
|  Element | getElement(String id)指定した id Attributeを持つ要素を返します。 | 
|  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()
StyleSheet を使用して HTML ドキュメントを構築します。これは、コンストラクタ HTMLDocument(Content, StyleSheet) の簡易メソッドです。
public HTMLDocument(StyleSheet styles)
HTMLDocument(Content, StyleSheet) の簡易メソッドです。
styles - スタイル
public HTMLDocument(AbstractDocument.Content c,
                    StyleSheet styles)
c - コンテンツのコンテナstyles - スタイル| メソッドの詳細 | 
|---|
public HTMLEditorKit.ParserCallback getReader(int pos)
HTMLDocument.HTMLReader のインスタンスを返すために実装されます。サブクラスは、必要であれば、カスタムタグや文字スタイル要素の構造的表現の処理などのために、このメソッドを再実装してドキュメントの構造化手段を変更できます。
pos - 開始位置
public HTMLEditorKit.ParserCallback getReader(int pos,
                                              int popDepth,
                                              int pushDepth,
                                              HTML.Tag insertTag)
HTMLDocument.HTMLReader のインスタンスを返すために実装されます。サブクラスは、必要であれば、カスタムタグや文字スタイル要素の構造的表現の処理などのために、このメソッドを再実装してドキュメントの構造化手段を変更できます。 これは、getReader(int, int, int, HTML.Tag, TRUE) の簡易メソッドです。
popDepth - 挿入の前に生成される ElementSpec.EndTagTypes タグの数pushDepth - 終了タグの生成後、挿入前に生成される ElementSpec.JoinNextDirection の方向を持つ ElementSpec.StartTagType のタグの数insertTag - ドキュメントへの挿入を開始する最初のタグ
public URL getBase()
public void setBase(URL u)
StyleSheet のベースを u とドキュメントのベースに設定します。
u - 該当するベース URL
protected void insert(int offset,
                      DefaultStyledDocument.ElementSpec[] data)
               throws BadLocationException
DefaultStyledDocument 内の insertoffset - 開始オフセットdata - 要素データ
BadLocationException - 指定された位置が、関連するドキュメント内の 有効な位置を示さない場合
protected void insertUpdate(AbstractDocument.DefaultDocumentEvent chng,
                            AttributeSet attr)
DefaultStyledDocument 内の insertUpdatechng - ドキュメント変更の説明attr - 属性protected void create(DefaultStyledDocument.ElementSpec[] data)
DefaultStyledDocument 内の createdata - ドキュメントの新しいコンテンツ
public void setParagraphAttributes(int offset,
                                   int length,
                                   AttributeSet s,
                                   boolean replace)
このメソッドはスレッドに対して安全ですが、ほとんどの Swing メソッドは違います。詳細は、「How to Use Threads」を参照してください。
StyledDocument 内の setParagraphAttributesDefaultStyledDocument 内の setParagraphAttributesoffset - 段落に対するオフセット (最小でも 0 でなければならない)length - 影響を受ける文字数 (最小でも 0 でなければならない)s - 属性replace - 既存の属性を置換するか、マージするかpublic StyleSheet getStyleSheet()
StyleSheet を取得します。
StyleSheetpublic HTMLDocument.Iterator getIterator(HTML.Tag t)
t - 要求した HTML.Tag
IteratorHTML.Tag
protected Element createLeafElement(Element parent,
                                    AttributeSet a,
                                    int p0,
                                    int p1)
HTMLDocument.RunElement 型の要素を返すために実装されます。
AbstractDocument 内の createLeafElementparent - 親要素a - 要素の属性p0 - 範囲の始点 (最小でも 0 でなければならない)p1 - 範囲の終点 (最小でも p0 でなければならない)
protected Element createBranchElement(Element parent,
                                      AttributeSet a)
AbstractDocument 内の createBranchElementparent - 親要素a - 属性
protected AbstractDocument.AbstractElement createDefaultRoot()
DefaultStyledDocument 内の createDefaultRootpublic void setTokenThreshold(int n)
n - バッファーされるトークンの数public int getTokenThreshold()
Integer.MAX_VALUE です。
public void setPreservesUnknownTags(boolean preservesTags)
preservesTags - 未知のタグがモデルに保存される場合は true、そうでない場合、タグはモデルから外されるHTML.Tagpublic boolean getPreservesUnknownTags()
HTML.Tagpublic void processHTMLFrameHyperlinkEvent(HTMLFrameHyperlinkEvent e)
HyperlinkEvent の処理をします。HyperlinkEvents タイプは、パラメータが示す通り、HTMLFrameHyperlinkEvent です。HyperlinkEvents に含まれる通常の情報のほかに、このイベントはクリックが発生したフレーム (発生元の要素) に対応する要素、およびターゲット名を格納しています。ターゲット名は次に示す 4 種類の値のどれかです。
 HTML.Attribute.SRC の値を変更するアクションが発生し、ChangedUpdate イベントをトリガーします。
ターゲットが _parent の場合、<FRAMESET> 要素である親要素を削除し、新しい <FRAME> 要素を挿入したあと、HTML.Attribute.SRC 属性が送信先の URL と等しい値を持つように設定して RemovedUpdate および InsertUpdate をトリガーします。
ターゲットが _top の場合、このメソッドは何も処理を行いません。_top は、フレーム用のビューの実装 (具体的には FrameView) で処理されます。_top はドキュメント全体の置き換えを意味するため、置換対象ドキュメントの外部で処理してください。
ターゲットがフレーム名の場合、ターゲットと同じ名前の要素を要素階層から探し、その要素の HTML.Attribute.SRC 属性を更新して ChangedUpdate イベントをトリガーします。
e - イベントpublic void setParser(HTMLEditorKit.Parser parser)
setInnerHTML や setOuterHTML などの html を挿入するときにメソッドが使用するパーサーを設定します。
 
HTMLEditorKit.createDefaultDocument はパーサーを設定します。手動で HTMLDocument ドキュメントを作成する場合は、それぞれに対応したパーサーを設定するようにしてください。
parser - テキストの挿入に使われるパーサーpublic HTMLEditorKit.Parser getParser()
public void setInnerHTML(Element elem,
                         String htmlText)
                  throws BadLocationException,
                         IOException
2 つ以上のイベントとして表示され、削除に続き n を挿入します。
正しく機能させるために、ドキュメントは HTMLEditorKit.Parser を用意する必要があります。これは、ドキュメントが HTMLEditorKit から createDefaultDocument メソッドにより生成された場合です。
elem - 子が置き換えられる枝の要素htmlText - 解析され、elem に割り当てられる文字列
IllegalArgumentException - elem が葉の場合
IllegalStateException - HTMLEditorKit.Parser が 未定義の場合
BadLocationException
IOException
public void setOuterHTML(Element elem,
                         String htmlText)
                  throws BadLocationException,
                         IOException
2 つ以上のイベントとして表示され、削除に続き n を挿入します。
葉を置きかえるときには、改行が必要な場合に改行があるかどうかを確認してください。これで追加要素が挿入されます。<img> を持つ改行を含んだ文字要素を置き換えようとする場合は、一つはイメージ用、もう一つは改行用に 2 つの要素を生成することになります。 要素の長さを置き換えると、2 つの要素で終了します。
要素の長さを置き換えると、2 つの要素で終了します。つまり、setOuterHTML(getCharacterElement(getLength()), "blah") が最終的に 2 つの葉要素になります。一つは blah を表し、もう一つは末尾要素を表します。
正しく機能させるために、ドキュメントは HTMLEditorKit.Parser を用意する必要があります。これは、ドキュメントが HTMLEditorKit から createDefaultDocument メソッドにより生成された場合です。
elem - 子が置き換えられる枝の要素htmlText - 解析され、elem に割り当てられる文字列
IllegalStateException - HTMLEditorKit.Parser が設定されていない場合
BadLocationException
IOException
public void insertAfterStart(Element elem,
                             String htmlText)
                      throws BadLocationException,
                             IOException
正しく機能させるために、ドキュメントは HTMLEditorKit.Parser を用意する必要があります。これは、ドキュメントが HTMLEditorKit から createDefaultDocument メソッドにより生成された場合です。
elem - 新しいテキストのルートである枝の要素htmlText - 解析され、elem に割り当てられる文字列
IllegalStateException - ドキュメントに HTMLEditorKit.Parser が 設定されていない場合
BadLocationException
IOException
public void insertBeforeEnd(Element elem,
                            String htmlText)
                     throws BadLocationException,
                            IOException
 elem の子が葉で、elem.getEndOffset() - 1 の文字が改行である場合、改行後にテキストがないようにするために改行前に挿入します。 
正しく機能させるために、ドキュメントは HTMLEditorKit.Parser を用意する必要があります。これは、ドキュメントが HTMLEditorKit から createDefaultDocument メソッドにより生成された場合です。
elem - 新しいテキストのルートである要素htmlText - 解析され、elem に割り当てられる文字列
IllegalStateException - ドキュメントに HTMLEditorKit.Parser が 設定されていない場合
BadLocationException
IOException
public void insertBeforeStart(Element elem,
                              String htmlText)
                       throws BadLocationException,
                              IOException
正しく機能させるために、ドキュメントは HTMLEditorKit.Parser を用意する必要があります。これは、ドキュメントが HTMLEditorKit から createDefaultDocument メソッドにより生成された場合です。
elem - 新しいテキストのルートである要素htmlText - 解析され、elem に割り当てられる文字列
IllegalStateException - ドキュメントに HTMLEditorKit.Parser が 設定されていない場合
BadLocationException
IOException
public void insertAfterEnd(Element elem,
                           String htmlText)
                    throws BadLocationException,
                           IOException
正しく機能させるために、ドキュメントは HTMLEditorKit.Parser を用意する必要があります。これは、ドキュメントが HTMLEditorKit から createDefaultDocument メソッドにより生成された場合です。
elem - 新しいテキストのルートである要素htmlText - 解析され、elem に割り当てられる文字列
IllegalStateException - ドキュメントに HTMLEditorKit.Parser が 設定されていない場合
BadLocationException
IOExceptionpublic Element getElement(String id)
Attribute を持つ要素を返します。要素が見つからない場合は null が返されます。このメソッドは Attribute に対して働き、文字タグに対しては働きません。HTML の簡単な例 <a id="HelloThere"> において、属性は id、文字タグは a です。このメソッドは getElement(RootElement, HTML.Attribute.id, id) の簡易メソッドです。このメソッドはスレッドに対して安全ではありません。
id - 目的の Attribute の文字列表現
Attribute を持つ要素。見つからない場合、または id が null の場合は nullHTML.Attribute
public Element getElement(Element e,
                          Object attribute,
                          Object value)
value を持つ attribute) を格納する e の子要素を返します。見つからない場合は null を返します。このメソッドはスレッドに対して安全ではありません。
e - 検索を開始するルート要素attribute - 目的の Attributevalue - 指定した Attribute の値
Attribute と 指定された value を持つ要素。見つからない場合は nullHTML.Attributeprotected void fireChangedUpdate(DocumentEvent e)
AbstractDocument 内の fireChangedUpdatee - イベントEventListenerListprotected void fireUndoableEditUpdate(UndoableEditEvent e)
AbstractDocument 内の fireUndoableEditUpdatee - イベントEventListenerList| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。