クラスHTMLDocument
- すべての実装されたインタフェース:
Serializable, Document, StyledDocument
HTMLDocument.HTMLReaderクラスによって構築されます。このクラスは、パーサーに必要なHTMLEditorKit.ParserCallbackプロトコルを実装しています。 構造を変更するには、HTMLReaderをサブクラス化し、getReader(int)メソッドを実装し直して新しいリーダーの実装を返すようにします。 生成されるデフォルトの構造については、HTMLReaderのドキュメントを参照してください。 デフォルトの構造は、ドキュメントのコンテンツが損なわれないことを意図して実装されていますが、HTMLフォーマットを生成し直すときに異なったフォーマットになることもあります。
このドキュメントはHTMLをモデル化するだけで、ビューの属性をその中に格納しようとはしません。 要素は、StyleContext.NameAttribute属性によって識別されます。この属性は必ず、要素の種類を識別するHTML.Tag型の値を持っています。 要素の中には合成されるもの(コメントなど)もあります。 HTMLFactoryはこの属性を使用して、構築するビューの種類を決定します。
このドキュメントは、追加読込みをサポートしています。 TokenThresholdプロパティにより、どれくらいの量の解析がバッファに格納されるとドキュメントの要素構造の更新を行うかを制御します。 このプロパティは、EditorKitで設定されるため、サブクラスから無効にすることができます。
Baseプロパティは、相対URLをどのURLに対して解決するかを決定します。 プロパティの値がURLの場合、デフォルトでは、これはDocument.StreamDescriptionPropertyになります。 <BASE>タグが検出された場合、ベースは、そのタグで指定されたURLになります。 ベースURLはプロパティなので、直接設定できます。
このドキュメントで使用するデフォルトのコンテンツ・ストレージ・メカニズムは、ギャップ・バッファ(GapContent)です。 別のメカニズムを指定するには、Contentの実装を引数に取るコンストラクタを使います。
HTMLDocumentの変更
HTMLDocumentを変更するためにDocumentやStyledDocumentによって提供されているメソッドのほかに、HTMLDocumentにはいくつかの簡易メソッドも用意されています。 次のメソッドを使用すると、HTMLコンテンツを既存のドキュメントに挿入できます。
setInnerHTML(Element, String)setOuterHTML(Element, String)insertBeforeStart(Element, String)insertAfterStart(Element, String)insertBeforeEnd(Element, String)insertAfterEnd(Element, String)
次の例は、これらのメソッドの使用方法を示しています。 各例では、HTMLドキュメントが次の方法で初期化されることを前提としています。
JEditorPane p = new JEditorPane();
p.setContentType("text/html");
p.setText("..."); // Document text is provided below.
HTMLDocument d = (HTMLDocument) p.getDocument();
次のHTMLコンテンツでは
<html>
<head>
<title>An example HTMLDocument</title>
<style type="text/css">
div { background-color: silver; }
ul { color: blue; }
</style>
</head>
<body>
<div id="BOX">
<p>Paragraph 1</p>
<p>Paragraph 2</p>
</div>
</body>
</html>
HTMLドキュメントを変更するためのすべてにメソッドにElementが必要です。 HTMLドキュメントから要素を取得するには、getElement(Element e, Object attribute, Object value)メソッドを使用します。 それは、深さ優先順で、指定された値を持つ指定された属性を含む最初の子孫の要素を返します。 たとえば、d.getElement(d.getDefaultRootElement(), StyleConstants.NameAttribute, HTML.Tag.P)は最初の段落要素を返します。
要素を検索するための便利で簡単な方法はgetElement(String)メソッドであり、これは指定された値に一致するID属性を持つ要素を返します。 たとえば、d.getElement("BOX")はDIV要素を返します。
また、getIterator(HTML.Tag t)メソッドも、ドキュメント内の指定されたHTMLタグのすべての出現箇所を検索するために使用できます。
要素の挿入
葉以外の要素の既存の子の前後に要素を挿入するには、insertAfterStartおよびinsertBeforeEndメソッドを使用します。 たとえば、eがDIV要素である場合、d.insertAfterStart(e, "<ul><li>List Item</li></ul>")は最初の段落の前にそのリストを挿入し、d.insertBeforeEnd(e, "<ul><li>List Item</li></ul>")は最後の段落のあとにそのリストを挿入します。 DIVブロックは、新しく挿入された要素の親になります。
いずれかの要素の前後に兄弟要素を挿入するには、insertBeforeStartおよびinsertAfterEndメソッドを使用します。 たとえば、eがDIV要素である場合、d.insertBeforeStart(e, "<ul><li>List Item</li></ul>")はDIV要素の前にそのリストを挿入し、d.insertAfterEnd(e, "<ul><li>List Item</li></ul>")はDIV要素のあとにそのリストを挿入します。 新しく挿入された要素は、DIV要素の兄弟になります。
要素の置換
要素とそのすべての子孫を置換するには、setInnerHTMLおよびsetOuterHTMLメソッドを使用します。 たとえば、eがDIV要素である場合、d.setInnerHTML(e, "<ul><li>List Item</li></ul>")はすべての子の段落をそのリストに置換し、d.setOuterHTML(e, "<ul><li>List Item</li></ul>")はDIV要素自体を置換します。 後者の場合、そのリストの親はBODY要素になります。
概要
次の表に、前述のドキュメントの例と各種メソッドの結果を示します。
| 例 | insertAfterStart |
insertBeforeEnd |
insertBeforeStart |
insertAfterEnd |
setInnerHTML |
setOuterHTML |
|---|---|---|---|---|---|---|
|
段落 1 段落 2 |
段落 1 段落 2 |
段落 1 段落 2
|
段落 1 段落 2 |
段落 1 段落 2
|
|
|
警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。
-
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明classHTMLの構造ブロックを表す要素です。classHTMLドキュメントをHTML要素構造とともにロードするためのHTMLリーダーです。static class特定のタイプのタグに対して繰返し処理を実行するイテレータです。classHTML文字レベル属性のセットが割り当てられているテキストのチャンクを表す要素です。クラスDefaultStyledDocumentで宣言されたネストされたクラス/インタフェース
DefaultStyledDocument.AttributeUndoableEdit, DefaultStyledDocument.ElementBuffer, DefaultStyledDocument.ElementSpec, DefaultStyledDocument.SectionElement修飾子と型クラス説明static classUndoableEditは、ElementのAttributeSetに加えられた変更を記憶するために使います。class要素の階層に対する変更を管理するクラスです。static class要素を構築する実装です。protected classドキュメントのデフォルト・ルート要素で、含まれる段落や行をマッピングします。クラスAbstractDocumentで宣言されたネストされたクラス/インタフェース
AbstractDocument.AbstractElement, AbstractDocument.AttributeContext, AbstractDocument.BranchElement, AbstractDocument.Content, AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, AbstractDocument.LeafElement修飾子と型クラス説明class要素の抽象部分を実装します。static interfaceこのインタフェースは、プラグイン可能な属性圧縮手法をMutableAttributeSetの実装で使用可能にするために使用できます。classほかの要素を含む複合要素を実装します。static interface編集可能な文字のシーケンスを示すインタフェースです。classドキュメントが変更された場合に、ドキュメントの変更を格納します。static classドキュメントのイベントに追加できるElementChangeの実装です。classある種のコンテンツを直接表す要素を実装します。 -
フィールドのサマリー
フィールドクラスで宣言されたフィールド DefaultStyledDocument
buffer, BUFFER_SIZE_DEFAULT修飾子と型フィールド説明protected DefaultStyledDocument.ElementBuffer要素バッファ。static final int初期コンテンツ・バッファのデフォルト・サイズです。クラスで宣言されたフィールド AbstractDocument
BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName修飾子と型フィールド説明protected static final String不正な位置を示すエラー・メッセージです。static final String単方向の実行を示す要素の名前です。static final String内容を示す要素の名前です。static final String要素の名前の指定に使う属性の名前です。protected EventListenerListドキュメントのイベント・リスナーです。static final String段落を示す要素の名前です。static final String行、段落などのセクションを示す要素の名前です。インタフェース「ドキュメント」で宣言されたフィールド
StreamDescriptionProperty, TitleProperty -
コンストラクタのサマリー
コンストラクタコンストラクタ説明デフォルトのバッファ・サイズとデフォルトのStyleSheetを使用してHTMLドキュメントを構築します。HTMLDocument(AbstractDocument.Content c, StyleSheet styles) 指定されたコンテンツ・ストレージの実装と、指定されたスタイル/属性のストレージ・メカニズムとを使ってHTMLドキュメントを作成します。HTMLDocument(StyleSheet styles) デフォルトのコンテンツ・ストレージの実装と指定したスタイル/属性のストレージ・メカニズムを使用してHTMLドキュメントを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明protected voidドキュメントのコンテンツを、指定された要素仕様に置換します。protected ElementcreateBranchElement(Element parent, AttributeSet a) ドキュメントの枝の要素を作成します。この要素には、ほかの要素(複数可)を含めることができます。protected AbstractDocument.AbstractElementデフォルトのドキュメント構造を表すために使うルート要素を作成します。protected ElementcreateLeafElement(Element parent, AttributeSet a, int p0, int p1) テキストを直接表す(子を持たない)ドキュメントの葉の要素を作成します。protected voidこのイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。protected voidこのイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。getBase()相対URLを解決処理する位置を返します。getElement(String id) 指定したidAttributeを持つ要素を返します。getElement(Element e, Object attribute, Object value) 属性(値valueを持つattribute)を格納するeの子要素を返します。見つからない場合はnullを返します。指定したHTMLタグのイテレータを取得します。既存のドキュメントにhtmlを挿入するときに使用するパーサーを返します。boolean未知のタグが見つかったときにパーサーの監視する動作を返します。getReader(int pos) パーサーがHTMLドキュメントをロードするときに使うリーダーを取得します。パーサーがHTMLドキュメントをロードするために使うリーダーを返します。HTMLドキュメント自体が指定するドキュメント固有の表示規則(CSS)を持つ、StyleSheetを取得します。intドキュメントの要素構造の更新前に、バッファに格納されるトークンの数を取得します。protected voidinsert(int offset, DefaultStyledDocument.ElementSpec[] data) 新しい要素を一括して挿入します。voidinsertAfterEnd(Element elem, String htmlText) 指定された要素の末尾の後に、文字列として指定されたHTMLを挿入します。voidinsertAfterStart(Element elem, String htmlText) 要素の開始位置に文字列として指定されたHTMLを挿入します。voidinsertBeforeEnd(Element elem, String htmlText) 要素の終了位置に文字列として指定されたHTMLを挿入します。voidinsertBeforeStart(Element elem, String htmlText) 指定された要素が開始される前に文字列として指定されたHTMLを挿入します。protected voidドキュメント構造をテキスト挿入の結果で更新します。voidHTMLフレーム内でドキュメントによって生成されたHyperlinkEventsの処理をします。void相対URLを解決処理する位置を設定します。voidsetInnerHTML(Element elem, String htmlText) 指定された要素の子をHTML文字列として指定されたコンテンツと置き換えます。voidsetOuterHTML(Element elem, String htmlText) 指定された親の要素をHTML文字列として指定されたコンテンツと置き換えます。voidsetParagraphAttributes(int offset, int length, AttributeSet s, boolean replace) 段落に属性を設定します。voidsetParser(HTMLEditorKit.Parser parser) 既存のドキュメントにsetInnerHTMLやsetOuterHTMLなどのhtmlを挿入するときにメソッドが使用するパーサーを設定します。voidsetPreservesUnknownTags(boolean preservesTags) パーサーによる未知のタグの処理方法を判定します。voidsetTokenThreshold(int n) ドキュメントの要素構造の更新前に、バッファに格納されるトークンの数を設定します。クラスで宣言されたメソッド DefaultStyledDocument
addDocumentListener, addStyle, getBackground, getCharacterElement, getDefaultRootElement, getFont, getForeground, getLogicalStyle, getParagraphElement, getStyle, getStyleNames, removeDocumentListener, removeElement, removeStyle, removeUpdate, setCharacterAttributes, setLogicalStyle, styleChanged修飾子と型メソッド説明voidaddDocumentListener(DocumentListener listener) ドキュメント・リスナーを追加し、変更があったときに通知されるようにします。論理書式階層に新しい書式を追加します。getBackground(AttributeSet attr) 属性セットからバックグラウンド・カラーを取得します。getCharacterElement(int pos) 位置に基づいて文字要素を取得します。デフォルトのルート要素が取得されます。getFont(AttributeSet attr) 属性セットからフォントを取得します。getForeground(AttributeSet attr) 属性セットからフォアグラウンド・カラーを取得します。getLogicalStyle(int p) 指定された位置によって表された段落に割り当てられた論理書式を取得します。getParagraphElement(int pos) オフセットposの段落の要素を取得します。以前に追加された名前付き書式を取得します。Enumeration<?> スタイル名のリストを取得します。voidremoveDocumentListener(DocumentListener listener) ドキュメント・リスナーを削除します。voidremoveElement(Element elem) このドキュメントから要素を削除します。voidremoveStyle(String nm) 以前にドキュメントに追加された名前付き書式を削除します。protected voidテキスト削除の結果としてドキュメント構造を更新します。voidsetCharacterAttributes(int offset, int length, AttributeSet s, boolean replace) ドキュメントの一部に属性を設定します。voidsetLogicalStyle(int pos, Style s) 指定された位置の段落に使用する論理書式を設定します。protected voidstyleChanged(Style style) このドキュメントの書式が変更されたときに呼び出されます。クラスで宣言されたメソッド AbstractDocument
addUndoableEditListener, createPosition, dump, fireInsertUpdate, fireRemoveUpdate, getAsynchronousLoadPriority, getAttributeContext, getBidiRootElement, getContent, getCurrentWriter, getDocumentFilter, getDocumentListeners, getDocumentProperties, getEndPosition, getLength, getListeners, getProperty, getRootElements, getStartPosition, getText, getText, getUndoableEditListeners, insertString, postRemoveUpdate, putProperty, readLock, readUnlock, remove, removeUndoableEditListener, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock修飾子と型メソッド説明voidaddUndoableEditListener(UndoableEditListener listener) 任意の変更を通知するアンドゥ・リスナーを追加します。createPosition(int offs) ドキュメントが変更されたときに、変更を追跡する位置を返します。voiddump(PrintStream out) 診断用のダンプを出力します。protected voidこのイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。protected voidこのイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。int非同期ロードの優先順位を取得します。protected final AbstractDocument.AttributeContext属性を管理するためのコンテキストを返します。ドキュメントの双方向構造のルート要素を返します。protected final AbstractDocument.Contentドキュメントの内容を取得します。protected final Thread現在の書込みスレッドがあれば、それを取得します。挿入または削除のフィルタを行うDocumentFilterを返します。このドキュメントに登録された、すべてのドキュメント・リスナーから成る配列を返します。プロパティのセットの管理をサポートします。final Positionドキュメントの末尾を表す位置を返します。intデータの長さを返します。<T extends EventListener>
T[]getListeners(Class<T> listenerType) このドキュメントにFooListenerとして現在登録されているすべてのオブジェクトの配列を返します。final ObjectgetProperty(Object key) プロパティの値を調べるのに便利なメソッドです。Element[]定義されているルート要素をすべて取得します。final Positionドキュメントの先頭を表す位置を返します。getText(int offset, int length) ドキュメントからテキストのシーケンスを取得します。voidドキュメントの指定部分内にあるテキストを取得します。このドキュメントに登録された、すべての取消し可能編集リスナーから成る配列を返します。voidinsertString(int offs, String str, AttributeSet a) ドキュメントに内容を挿入します。protected voidドキュメント構造をテキスト削除の結果で更新します。final voidputProperty(Object key, Object value) プロパティの値を格納するのに便利なメソッドです。final voidreadLock()ロックを取得して、ドキュメントからなんらかの状態の読込みを開始できるようにします。final void読込みのロックを解除します。voidremove(int offs, int len) ドキュメントから内容を削除します。voidアンドゥ・リスナーを削除します。voidこれにより、モデルが非同期的な更新をサポートしている場合、同時実行性の存在下でモデルを安全にレンダリングできます。voidreplace(int offset, int length, String text, AttributeSet attrs) offsetからoffset+lengthまでのテキスト領域を削除し、textに置き換えます。voidsetAsynchronousLoadPriority(int p) 非同期ロードの優先順位を設定します。voidsetDocumentFilter(DocumentFilter filter) DocumentFilterを設定します。voidこのドキュメントのドキュメント・プロパティの辞書を置き換えます。protected final voidロックを取得して、ロックが保護しているドキュメントの変更を開始できるようにします。protected final void以前writeLock経由で取得された書込みロックを解除します。クラスオブジェクトで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。toString()オブジェクトの文字列表現を返します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
フィールド詳細
-
AdditionalComments
public static final String AdditionalCommentsドキュメント・プロパティのキーの値です。 キーに対応する値は、StringのVectorになります。この文字列は、本文にはないコメントです。- 関連項目:
-
-
コンストラクタの詳細
-
HTMLDocument
public HTMLDocument()デフォルトのバッファ・サイズとデフォルトのStyleSheetを使用してHTMLドキュメントを構築します。 これは、コンストラクタHTMLDocument(Content, StyleSheet)の簡易メソッドです。 -
HTMLDocument
public HTMLDocument(StyleSheet styles) デフォルトのコンテンツ・ストレージの実装と指定したスタイル/属性のストレージ・メカニズムを使用してHTMLドキュメントを構築します。 これは、コンストラクタHTMLDocument(Content, StyleSheet)の簡易メソッドです。- パラメータ:
styles- スタイル
-
HTMLDocument
public HTMLDocument(AbstractDocument.Content c, StyleSheet styles) 指定されたコンテンツ・ストレージの実装と、指定されたスタイル/属性のストレージ・メカニズムとを使ってHTMLドキュメントを作成します。- パラメータ:
c- コンテンツのコンテナstyles- スタイル
-
-
メソッドの詳細
-
getReader
public HTMLEditorKit.ParserCallback getReader(int pos) パーサーがHTMLドキュメントをロードするときに使うリーダーを取得します。 このメソッドはHTMLDocument.HTMLReaderのインスタンスを返すために実装されます。 サブクラスは、必要であれば、このメソッドを再実装してドキュメントの構造化手段を変更できます。 (カスタム・タグや文字スタイル要素の構造的表現の処理などが目的です。)- パラメータ:
pos- 開始位置- 戻り値:
- パーサーがドキュメントをロードするために使うリーダー
-
getReader
public HTMLEditorKit.ParserCallback getReader(int pos, int popDepth, int pushDepth, HTML.Tag insertTag) パーサーがHTMLドキュメントをロードするために使うリーダーを返します。 このメソッドはHTMLDocument.HTMLReaderのインスタンスを返すために実装されます。 サブクラスは、必要であれば、このメソッドを再実装してドキュメントの構造化手段を変更できます。 (カスタム・タグや文字スタイル要素の構造的表現の処理などが目的です。)これは
getReader(int, int, int, HTML.Tag, TRUE)の簡易メソッドです。- パラメータ:
pos- 開始位置popDepth- 挿入前に生成されるElementSpec.EndTagTypesタグの数pushDepth- 終了タグの生成後、挿入前に生成されるElementSpec.JoinNextDirectionの方向を持つElementSpec.StartTagTypesタグの数insertTag- ドキュメントへの挿入を開始する最初のタグ- 戻り値:
- パーサーがドキュメントをロードするために使うリーダー
-
getBase
public URL getBase()相対URLを解決処理する位置を返します。 デフォルトではこの位置は、ドキュメントがURLからロードされた場合にはドキュメントのURLになります。 ベース・タグが見つかり、解析できる場合には、それをベース位置として使用します。- 戻り値:
- ベース位置
-
setBase
public void setBase(URL u) 相対URLを解決処理する位置を設定します。 デフォルトではこの位置は、ドキュメントがURLからロードされた場合にはドキュメントのURLになります。 ベース・タグが見つかり、解析できる場合には、それをベース位置として使用します。StyleSheetのベースをuとドキュメントのベースに設定します。- パラメータ:
u- 該当するベースURL
-
insert
protected void insert(int offset, DefaultStyledDocument.ElementSpec[] data) throws BadLocationException 新しい要素を一括して挿入します。 要素はこのようにしてドキュメント内に作成されます。 解析によりどのような構造が必要であるかを決め、ドキュメントに書込みロックがかかっていない間に、編集を記述するトークンのセットとして仕様を作成します。 このメソッドは、リーダーによってまとめて呼び出されて、短時間の間(つまり、ドキュメントが実際に変更されている間)書込みロックを得ます。- オーバーライド:
insert、クラスDefaultStyledDocument- パラメータ:
offset- 開始オフセットdata- 要素データ- スロー:
BadLocationException- 指定された位置が、関連するドキュメント内の有効な位置を示さない場合。
-
insertUpdate
protected void insertUpdate(AbstractDocument.DefaultDocumentEvent chng, AttributeSet attr) ドキュメント構造をテキスト挿入の結果で更新します。 これは、書込みロック内で発生します。 この実装は、挿入されたコンテンツを単に改行ごとに構文解析し、要素バッファに対する一連の指示を構築します。- オーバーライド:
insertUpdate、クラスDefaultStyledDocument- パラメータ:
chng- ドキュメント変更の説明attr- 属性
-
create
protected void create(DefaultStyledDocument.ElementSpec[] data) ドキュメントのコンテンツを、指定された要素仕様に置換します。 このメソッドは、ロードがまとめて完了した場合、挿入の前に呼び出されます。 ドキュメント全体を一度にまとめてロードする場合に呼び出される、唯一のメソッドです。- オーバーライド:
create、クラスDefaultStyledDocument- パラメータ:
data- ドキュメントの新しいコンテンツ
-
setParagraphAttributes
public void setParagraphAttributes(int offset, int length, AttributeSet s, boolean replace) 段落に属性を設定します。このメソッドはスレッド・セーフですが、ほとんどのSwingメソッドは違います。 詳細は、Swingでの並行性に関連しているサイトを参照してください。
- 定義:
setParagraphAttributes、インタフェースStyledDocument- オーバーライド:
setParagraphAttributes、クラスDefaultStyledDocument- パラメータ:
offset- 段落に対するオフセット(最小でも0でなければならない)length- 影響を受ける文字数(最小でも0でなければならない)s- 属性replace- 既存の属性を置換するか、マージするか
-
getStyleSheet
public StyleSheet getStyleSheet()HTMLドキュメント自体が指定するドキュメント固有の表示規則(CSS)を持つ、StyleSheetを取得します。- 戻り値:
StyleSheet
-
getIterator
public HTMLDocument.Iterator getIterator(HTML.Tag t) 指定したHTMLタグのイテレータを取得します。 包含されているアンカーのセットでの繰返し処理や、入力要素での繰返し処理などで使用されます。- パラメータ:
t- 要求されたHTML.Tag- 戻り値:
- 指定したHTMLタグの
Iterator - 関連項目:
-
createLeafElement
protected Element createLeafElement(Element parent, AttributeSet a, int p0, int p1) テキストを直接表す(子を持たない)ドキュメントの葉の要素を作成します。HTMLDocument.RunElement型の要素を返すために実装されます。- オーバーライド:
createLeafElement、クラスAbstractDocument- パラメータ:
parent- 親要素a- 要素の属性p0- 範囲の始点(最小でも0でなければならない)p1- 範囲の終点(最小でもp0でなければならない)- 戻り値:
- 新規要素
-
createBranchElement
protected Element createBranchElement(Element parent, AttributeSet a) ドキュメントの枝の要素を作成します。この要素には、ほかの要素(複数可)を含めることができます。 これは、HTMLDocument.BlockElement型の要素を返すために実装されます。- オーバーライド:
createBranchElement、クラスAbstractDocument- パラメータ:
parent- 親要素a- 属性- 戻り値:
- 要素
-
createDefaultRoot
protected AbstractDocument.AbstractElement createDefaultRoot()デフォルトのドキュメント構造を表すために使うルート要素を作成します。- オーバーライド:
createDefaultRoot、クラスDefaultStyledDocument- 戻り値:
- 要素ベース
-
setTokenThreshold
public void setTokenThreshold(int n) ドキュメントの要素構造の更新前に、バッファに格納されるトークンの数を設定します。- パラメータ:
n- バッファに格納されるトークンの数
-
getTokenThreshold
public int getTokenThreshold()ドキュメントの要素構造の更新前に、バッファに格納されるトークンの数を取得します。 デフォルト値はInteger.MAX_VALUEです。- 戻り値:
- バッファされるトークンの数
-
setPreservesUnknownTags
public void setPreservesUnknownTags(boolean preservesTags) パーサーによる未知のタグの処理方法を判定します。 trueを設定すると未知のタグはモデルに入れられ、そうでない場合はモデルから外されます。- パラメータ:
preservesTags- 未知のタグがモデルに保存される場合はtrue、そうでない場合、タグはモデルから外される- 関連項目:
-
getPreservesUnknownTags
public boolean getPreservesUnknownTags()未知のタグが見つかったときにパーサーの監視する動作を返します。- 戻り値:
- 解析時に未知のタグが残される場合はtrue
- 関連項目:
-
processHTMLFrameHyperlinkEvent
public void processHTMLFrameHyperlinkEvent(HTMLFrameHyperlinkEvent e) HTMLフレーム内でドキュメントによって生成されたHyperlinkEventsの処理をします。HyperlinkEventタイプは、パラメータが示すとおり、HTMLFrameHyperlinkEventです。HyperlinkEventに含まれる通常の情報のほかに、このイベントはクリックが発生したフレーム(発生元の要素)に対応する要素、およびターゲット名を格納しています。 ターゲット名は次に示す4種類の値のどれかです。- _self
- _parent
- _top
- 名前の付いたフレーム
HTML.Attribute.SRC属性の値を変更するアクションが発生し、ChangedUpdateイベントをトリガーします。ターゲットが_parentの場合、<FRAMESET>要素である親要素を削除し、新しい<FRAME>要素を挿入したあと、
HTML.Attribute.SRC属性が送信先のURLと等しい値を持つように設定してRemovedUpdateおよびInsertUpdateをトリガーします。ターゲットが_topの場合、このメソッドは何も処理を行いません。 _topは、フレーム用のビューの実装(具体的には
FrameView)で処理されます。 _topはドキュメント全体の置換えを意味するため、置換対象ドキュメントの外部で処理してください。ターゲットがフレーム名の場合、ターゲットと同じ名前の要素を要素階層から探し、その要素の
HTML.Attribute.SRC属性を更新してChangedUpdateイベントをトリガーします。- パラメータ:
e- イベント
-
setParser
public void setParser(HTMLEditorKit.Parser parser) 既存のドキュメントにsetInnerHTMLやsetOuterHTMLなどのhtmlを挿入するときにメソッドが使用するパーサーを設定します。HTMLEditorKit.createDefaultDocumentはユーザーに代わってパーサーを設定します。 手動でHTMLDocumentドキュメントを作成する場合は、それぞれに対応したパーサーを設定するようにしてください。- パラメータ:
parser- テキストの挿入に使われるパーサー- 導入されたバージョン:
- 1.3
-
getParser
public HTMLEditorKit.Parser getParser()既存のドキュメントにhtmlを挿入するときに使用するパーサーを返します。- 戻り値:
- テキストの挿入に使われるパーサー
- 導入されたバージョン:
- 1.3
-
setInnerHTML
public void setInnerHTML(Element elem, String htmlText) throws BadLocationException, IOException 指定された要素の子をHTML文字列として指定されたコンテンツと置き換えます。2つ以上のイベントとして表示され、削除に続きnを挿入します。
次の構造を検討してください(
elemパラメータは太字)。<body> | <div> / \ <p> <p>setInnerHTML(elem, "<ul><li>")を起動すると、(新しい要素は「青色」です)の構造が次のようになります。<body> | <div> \ <ul> \ <li>パラメータ
elemを葉要素にしないでください。そうしないと、IllegalArgumentExceptionがスローされます。elemまたはhtmlTextパラメータがnullの場合、ドキュメントは変更されません。正しく機能させるために、ドキュメントは
HTMLEditorKit.Parserを用意する必要があります。 これは、ドキュメントがHTMLEditorKitからcreateDefaultDocumentメソッドにより生成された場合です。- パラメータ:
elem- 子が置き換えられる枝の要素htmlText- 解析され、elemに割り当てられる文字列- スロー:
IllegalArgumentException-elemが葉の場合IllegalStateException-HTMLEditorKit.Parserが未定義の場合BadLocationException- 構造的な問題のため交換が不可能な場合IOException- 入出力例外が発生した場合- 導入されたバージョン:
- 1.3
-
setOuterHTML
public void setOuterHTML(Element elem, String htmlText) throws BadLocationException, IOException 指定された親の要素をHTML文字列として指定されたコンテンツと置き換えます。2つ以上のイベントとして表示され、削除に続きnを挿入します。
葉を置きかえるときには、改行が必要な場合に改行があるかどうかを確認してください。 これによって追加要素が挿入されることがあります。 <img>を持つ改行が含まれている文字要素を置き換えるとした場合、これによって2つの要素(イメージ用に1つと改行用に1つ)が作成されることを考えてみてください。
要素を丸ごと置き換えようとすると、結果として2つの要素が生成される可能性がもっとも高くなります。たとえば、
setOuterHTML(getCharacterElement (getLength()), "blah")を呼び出すと、最終的に葉の要素が2つ生成され、一方は「blah」を表し、もう一方は終了要素を表します。次の構造を検討してください(
elemパラメータは太字)。<body> | <div> / \ <p> <p>setOuterHTML(elem, "<ul><li>")を起動すると、(新しい要素は「青色」です)の構造が次のようになります。<body> | <ul> \ <li>elemまたはhtmlTextパラメータがnullの場合、ドキュメントは変更されません。正しく機能させるために、ドキュメントはHTMLEditorKit.Parserを用意する必要があります。 これは、ドキュメントがHTMLEditorKitから
createDefaultDocumentメソッドにより生成された場合です。- パラメータ:
elem- 置き換える要素htmlText- 解析されて、elemの代わりに挿入される文字列- スロー:
IllegalStateException- HTMLEditorKit.Parserが設定されていない場合BadLocationException- 構造的な問題のため交換が不可能な場合IOException- 入出力例外が発生した場合- 導入されたバージョン:
- 1.3
-
insertAfterStart
public void insertAfterStart(Element elem, String htmlText) throws BadLocationException, IOException 要素の開始位置に文字列として指定されたHTMLを挿入します。次の構造を検討してください(
elemパラメータは太字)。<body> | <div> / \ <p> <p>insertAfterStart(elem, "<ul><li>")を起動すると、(新しい要素は「青色」です)の構造が次のようになります。<body> | <div> / | \ <ul> <p> <p> / <li>insertBeforeStartメソッドと異なり、新規要素は指定された要素の兄弟ではなく、子になります。パラメータ
elemを葉要素にしないでください。そうしないと、IllegalArgumentExceptionがスローされます。elemまたはhtmlTextパラメータがnullの場合、ドキュメントは変更されません。正しく機能させるために、ドキュメントは
HTMLEditorKit.Parserを用意する必要があります。 これは、ドキュメントがHTMLEditorKitからcreateDefaultDocumentメソッドにより生成された場合です。- パラメータ:
elem- 新しいテキストのルートである枝の要素htmlText- 解析され、elemに割り当てられる文字列- スロー:
IllegalArgumentException-elemが葉の場合IllegalStateException- ドキュメントにHTMLEditorKit.Parserが設定されていない場合BadLocationException- 構造上の問題のため挿入が不可能な場合IOException- 入出力例外が発生した場合- 導入されたバージョン:
- 1.3
-
insertBeforeEnd
public void insertBeforeEnd(Element elem, String htmlText) throws BadLocationException, IOException 要素の終了位置に文字列として指定されたHTMLを挿入します。elemの子が葉で、elem.getEndOffset() - 1の文字が改行である場合、改行後にテキストがないようにするために改行前に挿入します。次の構造を検討してください(
elemパラメータは太字)。<body> | <div> / \ <p> <p>insertBeforeEnd(elem, "<ul><li>")を起動すると、(新しい要素は「青色」です)の構造が次のようになります。<body> | <div> / | \ <p> <p> <ul> \ <li>insertAfterEndメソッドと異なり、新規要素は指定された要素の兄弟ではなく、子になります。パラメータ
elemを葉要素にしないでください。そうしないと、IllegalArgumentExceptionがスローされます。elemまたはhtmlTextパラメータがnullの場合、ドキュメントは変更されません。正しく機能させるために、ドキュメントは
HTMLEditorKit.Parserを用意する必要があります。 これは、ドキュメントがHTMLEditorKitからcreateDefaultDocumentメソッドにより生成された場合です。- パラメータ:
elem- 新しいテキストのルートである要素htmlText- 解析され、elemに割り当てられる文字列- スロー:
IllegalArgumentException-elemが葉の場合IllegalStateException- ドキュメントにHTMLEditorKit.Parserが設定されていない場合BadLocationException- 構造上の問題のため挿入が不可能な場合IOException- 入出力例外が発生した場合- 導入されたバージョン:
- 1.3
-
insertBeforeStart
public void insertBeforeStart(Element elem, String htmlText) throws BadLocationException, IOException 指定された要素が開始される前に文字列として指定されたHTMLを挿入します。次の構造を検討してください(
elemパラメータは太字)。<body> | <div> / \ <p> <p>insertBeforeStart(elem, "<ul><li>")を起動すると、(新しい要素は「青色」です)の構造が次のようになります。<body> / \ <ul> <div> / / \ <li> <p> <p>insertAfterStartメソッドと異なり、新規要素は指定された要素の子ではなく、兄弟になります。elemまたはhtmlTextパラメータがnullの場合、ドキュメントは変更されません。正しく機能させるために、ドキュメントは
HTMLEditorKit.Parserを用意する必要があります。 これは、ドキュメントがHTMLEditorKitからcreateDefaultDocumentメソッドにより生成された場合です。- パラメータ:
elem- コンテンツがその前に挿入される要素htmlText- 解析されて、elemの前に挿入される文字列- スロー:
IllegalStateException- ドキュメントにHTMLEditorKit.Parserが設定されていない場合BadLocationException- 構造上の問題のため挿入が不可能な場合IOException- 入出力例外が発生した場合- 導入されたバージョン:
- 1.3
-
insertAfterEnd
public void insertAfterEnd(Element elem, String htmlText) throws BadLocationException, IOException 指定された要素の末尾の後に、文字列として指定されたHTMLを挿入します。次の構造を検討してください(
elemパラメータは太字)。<body> | <div> / \ <p> <p>insertAfterEnd(elem, "<ul><li>")を起動すると、(新しい要素は「青色」です)の構造が次のようになります。<body> / \ <div> <ul> / \ \ <p> <p> <li>insertBeforeEndメソッドと異なり、新規要素は指定された要素の子ではなく、兄弟になります。elemまたはhtmlTextパラメータがnullの場合、ドキュメントは変更されません。正しく機能させるために、ドキュメントは
HTMLEditorKit.Parserを用意する必要があります。 これは、ドキュメントがHTMLEditorKitからcreateDefaultDocumentメソッドにより生成された場合です。- パラメータ:
elem- コンテンツがそのあとに挿入される要素htmlText- 解析されて、elemのあとに挿入される文字列- スロー:
IllegalStateException- ドキュメントにHTMLEditorKit.Parserが設定されていない場合BadLocationException- 構造上の問題のため挿入が不可能な場合IOException- 入出力例外が発生した場合- 導入されたバージョン:
- 1.3
-
getElement
指定したidAttributeを持つ要素を返します。 要素が見つからない場合はnullが返されます。 このメソッドはAttributeに対して働き、文字タグに対しては働かないことに注意してください。 HTMLの簡単な例<a id="HelloThere">において、属性は「id」、文字タグは「a」です。 これはgetElement(RootElement, HTML.Attribute.id, id)の簡易メソッドです。 このメソッドはスレッドに対して安全ではありません。- パラメータ:
id- 目的のAttributeを表す文字列- 戻り値:
- 指定された
Attributeを持つ要素。それが見つからない場合はnull。または、idがnullの場合はnull - 導入されたバージョン:
- 1.3
- 関連項目:
-
getElement
属性(値valueを持つattribute)を格納するeの子要素を返します。見つからない場合はnullを返します。 このメソッドはスレッドに対して安全ではありません。- パラメータ:
e- 検索を開始するルート要素attribute- 目的のAttributevalue- 指定されたAttributeの値- 戻り値:
- 指定された
Attributeと指定されたvalueを持つ要素。それが見つからない場合はnull - 導入されたバージョン:
- 1.3
- 関連項目:
-
fireChangedUpdate
protected void fireChangedUpdate(DocumentEvent e) このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。 イベント・インスタンスは、fireメソッドに渡されるパラメータを使って簡単に生成されます。- オーバーライド:
fireChangedUpdate、クラスAbstractDocument- パラメータ:
e- イベント- 関連項目:
-
fireUndoableEditUpdate
protected void fireUndoableEditUpdate(UndoableEditEvent e) このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。 イベント・インスタンスは、fireメソッドに渡されるパラメータを使って簡単に生成されます。- オーバーライド:
fireUndoableEditUpdate、クラスAbstractDocument- パラメータ:
e- イベント- 関連項目:
-