クラスDocumentFilter

java.lang.Object
javax.swing.text.DocumentFilter

public class DocumentFilter extends Object
DocumentFilterは、名前が示すようにDocument変更メソッドのフィルタです。 DocumentFilterを格納するDocumentが、insertまたはremoveを介して変更されると、適当なメソッド呼出しがDocumentFilterに転送されます。 デフォルトの実装では、変更が可能です。 サブクラスは、場合に応じてメソッドをスーパー・クラス上に呼び出すか、渡されたFilterBypassに必要なメソッドを呼び出すことで、変更にフィルタを設定できます。 サブクラスは、変更をDocumentにコールバックするのではなく、スーパー・クラスやFilterBypassへの呼出しを行う必要があります。

removeまたはinsertStringDocumentFilter上で呼び出されると、DocumentFilterFilterBypassを複数回または異なる領域に対してコールバックできますが、removeまたはinsertStringメソッドから返されたあとに、FilterBypassへコールバックしてはいけません。

デフォルトでは、AbstractDocumentinsertStringreplaceremoveなどのテキスト関連のドキュメント変更メソッドは、使用可能な場合にDocumentFilterを使用し、DefaultStyledDocumentcreateinsertremoveElementなどのElement関連の変更メソッドはDocumentFilterを使用しません。 メソッドがこれらのデフォルトに従わない場合、メソッド・ドキュメンテーションに明示的に記載する必要があります。

導入されたバージョン:
1.4
関連項目:
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    クラス
    説明
    static class 
    Documentへのコールバックを回避して、Documentを変更する場合に使用されます。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    DocumentFilterを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    指定したDocumentにテキストを挿入する前に呼び出されます。
    void
    remove(DocumentFilter.FilterBypass fb, int offset, int length)
    指定したDocumentの指定した範囲を削除する前に呼び出されます。
    void
    replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs)
    指定したDocumentでテキストの範囲を置き換える前に呼び出されます。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • DocumentFilter

      public DocumentFilter()
      DocumentFilterを構築します。
  • メソッドの詳細

    • remove

      public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException
      指定したDocumentの指定した範囲を削除する前に呼び出されます。 条件付きで削除を許可されるサブクラスは、このメソッドをオーバーライドしてスーパー・クラスの実装を必要に応じて呼び出すだけか、FilterBypassを必要に応じて直接呼び出します。
      パラメータ:
      fb - Documentの変更に使用するFilterBypass
      offset - 先頭からのオフセット>= 0
      length - 削除対象の文字数>= 0
      スロー:
      BadLocationException - 削除範囲の一部がドキュメントの有効な部分でなかった場合。 例外内の位置は、最初に検出された不正な位置。
    • insertString

      public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException
      指定したDocumentにテキストを挿入する前に呼び出されます。 条件付きで挿入を許可するサブクラスは、このメソッドをオーバーライドしてスーパー・クラスの実装を必要に応じて呼び出すだけか、FilterBypassを必要に応じて直接呼び出します。
      パラメータ:
      fb - Documentの変更に使用するFilterBypass
      offset - コンテンツを挿入するドキュメント内のオフセット。0以上。 指定位置やその後ろの変更を追跡するすべての位置が移動します。
      string - 挿入する文字列
      attr - 挿入されたコンテンツに関連付ける属性。 属性がない場合はnullも可。
      スロー:
      BadLocationException - 指定された挿入位置がドキュメント内の有効な位置でない場合
    • replace

      public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException
      指定したDocumentでテキストの範囲を置き換える前に呼び出されます。 条件付きで置換えを許可するサブクラスは、このメソッドをオーバーライドしてスーパー・クラスの実装を必要に応じて呼び出すだけか、FilterBypassを必要に応じて直接呼び出します。
      パラメータ:
      fb - Documentの変更に使用するFilterBypass
      offset - Documentでの位置
      length - 削除するテキストの長さ
      text - 挿入するテキスト。nullの場合、テキストは挿入されない
      attrs - 挿入されたテキストの属性を示すAttributeSet。nullも可。
      スロー:
      BadLocationException - 指定された挿入位置がドキュメント内の有効な位置でない場合