java.lang.Object javax.swing.text.DocumentFilter
public class DocumentFilter
DocumentFilter
,顾名思义,它是 Document
改变方法的一个过滤器。修改包含 DocumentFilter
的 Document
时(通过 insert
或 remove
),它将适当的方法调用转发给 DocumentFilter
。该默认实现允许进行修改。通过有条件地调用超类方法,或在传入的 FilterBypass
上调用必要的方法,子类可以过滤修改。子类不应回调 Document 进行修改,而应调用超类或 FilterBypass
。
在 DocumentFilter
上调用 remove
或 insertString
时,DocumentFilter
可能多次回调 FilterBypass
,或针对不同的区域,但它不应在从 remove
或 insertString
方法返回后回调 FilterBypass
。
Document
嵌套类摘要 | |
---|---|
static class |
DocumentFilter.FilterBypass 充当避开回调 Document 进行更改的方法。 |
构造方法摘要 | |
---|---|
DocumentFilter() |
方法摘要 | |
---|---|
void |
insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) 将文本插入指定的 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 中的文本区域之前调用。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public DocumentFilter()
方法详细信息 |
---|
public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException
FilterBypass
。
fb
- 可用于改动 Document 的 FilterBypass
offset
- 起始位置处的偏移量,该值 >= 0
length
- 要移除的字符数,该值 >= 0
BadLocationException
- 移除范围的有些部分不是文档的有效部分。异常中的位置为遇到的第一个损坏位置。
public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException
fb
- 可用于改动 Document 的 FilterBypass
offset
- 要插入内容的偏移量,该值 >= 0。跟踪给定的位置或其后位置的更改的所有位置都将移动。
string
- 要插入的字符串
attr
- 要与插入的内容关联的属性。如果没有属性,它可能为 null。
BadLocationException
- 给定的插入位置不是文档中的有效位置
public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException
fb
- 可用于改动 Document 的 FilterBypass
offset
- Document 中的 Location
length
- 要删除的文本的长度
text
- 要插入的文本,null 指示没有要插入的文本
attrs
- 指示插入的文本的属性的 AttributeSet,null 也为合法。
BadLocationException
- 给定的插入位置不是文档中的有效位置