所有类
javax.swing.text
类 DocumentFilter
java.lang.Object
javax.swing.text.DocumentFilter
-
public class DocumentFilter
- extends Object
DocumentFilter
,顾名思义,它是 Document
改变方法的一个过滤器。修改包含 DocumentFilter
的 Document
时(通过 insert
或 remove
),它将适当的方法调用转发给 DocumentFilter
。该默认实现允许进行修改。通过有条件地调用超类方法,或在传入的 FilterBypass
上调用必要的方法,子类可以过滤修改。子类不应回调 Document 进行修改,而应调用超类或 FilterBypass
。
在 DocumentFilter
上调用 remove
或 insertString
时,DocumentFilter
可能多次回调 FilterBypass
,或针对不同的区域,但它不应在从 remove
或 insertString
方法返回后回调 FilterBypass
。
- 从以下版本开始:
-
1.4
- 另请参见:
Document
从类 java.lang.Object 继承的方法 |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DocumentFilter
public 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 中的 Location
length
- 要删除的文本的长度
text
- 要插入的文本,null 指示没有要插入的文本
attrs
- 指示插入的文本的属性的 AttributeSet,null 也为合法。
- 抛出:
BadLocationException
- 给定的插入位置不是文档中的有效位置
所有类