- java.lang.Object
-
- javax.swing.text.DocumentFilter
-
public class DocumentFilter extends Object
DocumentFilterは、名前が示すようにDocument変更メソッドのフィルタです。DocumentFilterを格納するDocumentが、insertまたはremoveを介して変更されると、適当なメソッド呼出しがDocumentFilterに転送されます。 デフォルトの実装では、変更が可能です。 サブクラスは、場合に応じてメソッドをスーパー・クラス上に呼び出すか、渡されたFilterBypassに必要なメソッドを呼び出すことで、変更にフィルタを設定できます。 サブクラスは、変更をDocumentにコールバックするのではなく、スーパー・クラスやFilterBypassへの呼出しを行う必要があります。removeまたはinsertStringがDocumentFilter上で呼び出されると、DocumentFilterはFilterBypassを複数回または異なる領域に対してコールバックできますが、removeまたはinsertStringメソッドから返されたあとに、FilterBypassへコールバックしてはいけません。デフォルトでは、
AbstractDocumentのinsertString、replace、removeなどのテキスト関連のドキュメント変更メソッドは、使用可能な場合にDocumentFilterを使用し、DefaultStyledDocumentのcreate、insert、removeElementなどのElement関連の変更メソッドはDocumentFilterを使用しません。 メソッドがこれらのデフォルトに従わない場合、メソッド・ドキュメンテーションに明示的に記載する必要があります。- 導入されたバージョン:
- 1.4
- 関連項目:
Document,AbstractDocument,DefaultStyledDocument
-
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 static classDocumentFilter.FilterBypassDocumentへのコールバックを回避して、Documentを変更する場合に使用されます。
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 DocumentFilter()
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 voidinsertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr)指定したDocumentにテキストを挿入する前に呼び出されます。voidremove(DocumentFilter.FilterBypass fb, int offset, int length)指定したDocumentの指定した範囲を削除する前に呼び出されます。voidreplace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs)指定したDocumentでテキストの範囲を置き換える前に呼び出されます。
-
-
-
メソッドの詳細
-
remove
public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException
指定したDocumentの指定した範囲を削除する前に呼び出されます。 条件付きで削除を許可されるサブクラスは、このメソッドをオーバーライドしてスーパー・クラスの実装を必要に応じて呼び出すだけか、FilterBypassを必要に応じて直接呼び出します。- パラメータ:
fb- Documentの変更に使用するFilterBypassoffset- 先頭からのオフセット>= 0length- 削除対象の文字数>= 0- 例外:
BadLocationException- 削除範囲の一部がドキュメントの有効な部分でなかった場合。 例外内の位置は、最初に検出された不正な位置。
-
insertString
public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException
指定したDocumentにテキストを挿入する前に呼び出されます。 条件付きで挿入を許可するサブクラスは、このメソッドをオーバーライドしてスーパー・クラスの実装を必要に応じて呼び出すだけか、FilterBypassを必要に応じて直接呼び出します。- パラメータ:
fb- Documentの変更に使用するFilterBypassoffset- コンテンツを挿入するドキュメント内のオフセット。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の変更に使用するFilterBypassoffset- Documentでの位置length- 削除するテキストの長さtext- 挿入するテキスト。nullの場合、テキストは挿入されないattrs- 挿入されたテキストの属性を示すAttributeSet。nullも可。- 例外:
BadLocationException- 指定された挿入位置がドキュメント内の有効な位置でない場合
-
-