モジュール java.desktop
パッケージ javax.swing.text

クラス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を参照してください。

関連項目:
Document, AbstractDocument
  • フィールド詳細

    • tabSizeAttribute

      public static final String tabSizeAttribute
      コンテンツ内のタブのサイズを指定する属性の名前です。 値の型は整数型です。
      関連項目:
      定数フィールド値
    • lineLimitAttribute

      public static final String lineLimitAttribute
      最大長がある場合、1行の最大長を指定する属性の名前です。 値の型は整数型です。
      関連項目:
      定数フィールド値
  • コンストラクタの詳細

    • 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 - 開始オフセット>= 0
      str - 挿入する文字列。nullや空の文字列の場合は何もしない
      a - 挿入されたコンテンツの属性
      例外:
      BadLocationException - 指定された挿入位置がドキュメント内の有効な位置でない場合
      関連項目:
      Document.insertString(int, java.lang.String, javax.swing.text.AttributeSet)
    • getDefaultRootElement

      public Element getDefaultRootElement()
      ドキュメント・モデルのデフォルトのルート要素を取得します。
      定義:
      getDefaultRootElement、インタフェース: Document
      定義:
      getDefaultRootElement、クラス: AbstractDocument
      戻り値:
      ルート
      関連項目:
      Document.getDefaultRootElement()
    • 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 - 編集を記述する変更イベント