モジュール java.desktop
パッケージ 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)
      • 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 - 編集を記述する変更イベント