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
を参照してください。
- 関連項目:
-
ネストされたクラスのサマリー
-
フィールドのサマリー
修飾子と型フィールド説明static final String
最大長がある場合、1行の最大長を指定する属性の名前です。static final String
コンテンツ内のタブのサイズを指定する属性の名前です。クラスjavax.swing.text.AbstractDocumentで宣言されたフィールド
BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName
インタフェースjavax.swing.text.Documentで宣言されているフィールド
StreamDescriptionProperty, TitleProperty
-
コンストラクタのサマリー
コンストラクタ説明プレーン・テキスト・ドキュメントを構築します。プレーン・テキスト・ドキュメントを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明protected AbstractDocument.AbstractElement
デフォルトのドキュメント構造を表すために使うルート要素を作成します。ドキュメント・モデルのデフォルトのルート要素を取得します。getParagraphElement
(int pos) 指定された位置を保持する段落要素を取得します。void
insertString
(int offs, String str, AttributeSet a) ドキュメントに内容を挿入します。protected void
ドキュメント構造をテキスト挿入の結果で更新します。protected void
ドキュメント構造をテキスト削除の結果で更新します。クラスjavax.swing.text.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
-
フィールド詳細
-
コンストラクタの詳細
-
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
- 編集を記述する変更イベント
-