クラスPlainDocument
java.lang.Object
javax.swing.text.AbstractDocument
javax.swing.text.PlainDocument
- すべての実装されたインタフェース:
Serializable, Document
public class PlainDocument extends AbstractDocument
文字の属性をまったく保持しないプレーンなドキュメントです。 デフォルトでは、このドキュメントの要素の構造は、テキスト内の行をマップしたものになります。 getDefaultRootElementメソッドが返すElementは行のマップを表し、各子要素は単一の行を表します。 このモデルは文字レベルの属性をまったく持ちませんが、それぞれの行には任意の属性セットによるタグを付けることができます。 行からオフセット、およびオフセットから行への変換はデフォルトのルート要素を使って迅速に実行されます。 編集によってトリガーされるDocumentEventの構造についての情報は、行の構造の変更を示します。
デフォルトのコンテンツ記憶域管理は、ギャップ付きバッファの実装(GapContent)によって行われます。 これは、かなり大きなドキュメントの編集をサポートしており、隣接するまとまった領域に対する一般的な編集を効率よく処理できます。
警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。
- 関連項目:
-
ネストされたクラスのサマリー
クラス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ある種のコンテンツを直接表す要素を実装します。 -
フィールドのサマリー
フィールド修飾子と型フィールド説明static final String最大長がある場合、1行の最大長を指定する属性の名前です。static final Stringコンテンツ内のタブのサイズを指定する属性の名前です。クラスで宣言されたフィールド 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 -
コンストラクタのサマリー
コンストラクタコンストラクタ説明プレーン・テキスト・ドキュメントを構築します。プレーン・テキスト・ドキュメントを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明protected AbstractDocument.AbstractElementデフォルトのドキュメント構造を表すために使うルート要素を作成します。ドキュメント・モデルのデフォルトのルート要素を取得します。getParagraphElement(int pos) 指定された位置を保持する段落要素を取得します。voidinsertString(int offs, String str, AttributeSet a) ドキュメントに内容を挿入します。protected voidドキュメント構造をテキスト挿入の結果で更新します。protected voidドキュメント構造をテキスト削除の結果で更新します。クラスで宣言されたメソッド AbstractDocument
addDocumentListener, addUndoableEditListener, createBranchElement, createLeafElement, createPosition, dump, fireChangedUpdate, fireInsertUpdate, fireRemoveUpdate, fireUndoableEditUpdate, getAsynchronousLoadPriority, getAttributeContext, getBidiRootElement, getContent, getCurrentWriter, getDocumentFilter, getDocumentListeners, getDocumentProperties, getEndPosition, getLength, getListeners, getProperty, getRootElements, getStartPosition, getText, getText, getUndoableEditListeners, postRemoveUpdate, putProperty, readLock, readUnlock, remove, removeDocumentListener, removeUndoableEditListener, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock修飾子と型メソッド説明voidaddDocumentListener(DocumentListener listener) ドキュメント・リスナーを追加し、変更があったときに通知されるようにします。voidaddUndoableEditListener(UndoableEditListener listener) 任意の変更を通知するアンドゥ・リスナーを追加します。protected ElementcreateBranchElement(Element parent, AttributeSet a) ドキュメントの枝の要素を作成します。この要素には、ほかの要素(複数可)を含めることができます。protected ElementcreateLeafElement(Element parent, AttributeSet a, int p0, int p1) ドキュメントの葉の要素を作成します。createPosition(int offs) ドキュメントが変更されたときに、変更を追跡する位置を返します。voiddump(PrintStream out) 診断用のダンプを出力します。protected voidこのイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。protected voidこのイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。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ドキュメントの指定部分内にあるテキストを取得します。このドキュメントに登録された、すべての取消し可能編集リスナーから成る配列を返します。protected voidドキュメント構造をテキスト削除の結果で更新します。final voidputProperty(Object key, Object value) プロパティの値を格納するのに便利なメソッドです。final voidreadLock()ロックを取得して、ドキュメントからなんらかの状態の読込みを開始できるようにします。final void読込みのロックを解除します。voidremove(int offs, int len) ドキュメントから内容を削除します。voidremoveDocumentListener(DocumentListener listener) ドキュメント・リスナーを削除します。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であるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
フィールド詳細
-
tabSizeAttribute
-
lineLimitAttribute
-
-
コンストラクタの詳細
-
PlainDocument
public PlainDocument()プレーン・テキスト・ドキュメントを構築します。GapContentを使うデフォルト・モデルが構築されて、設定されます。 -
PlainDocument
public PlainDocument(AbstractDocument.Content c) プレーン・テキスト・ドキュメントを構築します。 デフォルトのルート要素が作成され、タブのサイズが8に設定されます。- パラメータ:
c- コンテンツのコンテナ
-
-
メソッドの詳細
-
insertString
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException ドキュメントに内容を挿入します。 内容の挿入によって、実際の変更が起きるまでは書込みロックが保持されます。その後で、書込みロックをグラブしているスレッド上のオブザーバに通知が行われます。このメソッドはスレッド・セーフですが、ほとんどのSwingメソッドは違います。 詳細は、Swingでの並行性に関連しているサイトを参照してください。
- 定義:
insertString、インタフェースDocument- オーバーライド:
insertString、クラスAbstractDocument- パラメータ:
offs- 開始オフセット>= 0str- 挿入する文字列。nullや空の文字列の場合は何もしないa- 挿入されたコンテンツの属性- スロー:
BadLocationException- 指定された挿入位置がドキュメント内の有効な位置でない場合- 関連項目:
-
getDefaultRootElement
public Element getDefaultRootElement()ドキュメント・モデルのデフォルトのルート要素を取得します。- 定義:
getDefaultRootElement、インタフェースDocument- 定義:
getDefaultRootElement、クラスAbstractDocument- 戻り値:
- ルート
- 関連項目:
-
createDefaultRoot
protected AbstractDocument.AbstractElement createDefaultRoot()デフォルトのドキュメント構造を表すために使うルート要素を作成します。- 戻り値:
- 要素ベース
-
getParagraphElement
public Element getParagraphElement(int pos) 指定された位置を保持する段落要素を取得します。 このドキュメントは行をモデル化するだけなので、代わりに目的の行を返します。- 定義:
getParagraphElement、クラスAbstractDocument- パラメータ:
pos- 開始オフセット>= 0- 戻り値:
- 要素
-
insertUpdate
protected void insertUpdate(AbstractDocument.DefaultDocumentEvent chng, AttributeSet attr) ドキュメント構造をテキスト挿入の結果で更新します。 これは、書込みロック内で発生します。 このドキュメントは行をマップするだけなので、ユーザーが行マップをリフレッシュします。- オーバーライド:
insertUpdate、クラスAbstractDocument- パラメータ:
chng- 編集を記述する変更イベントattr- 挿入テキストの属性セット
-
removeUpdate
protected void removeUpdate(AbstractDocument.DefaultDocumentEvent chng) ドキュメント構造をテキスト削除の結果で更新します。 これは、書込みロック内で発生します。 構造は行マップを表すので、削除のスパンが複数の行を占めているかどうかをチェックするだけです。 削除のスパンが複数の行を占めている場合は、削除範囲を挟む前後の2行が結合されます。- オーバーライド:
removeUpdate、クラスAbstractDocument- パラメータ:
chng- 編集を記述する変更イベント
-