我正在创建一个自定义DocumentFilter
.
但是,我必须在几个不同的组件上使用它。它们之间的唯一区别是字符限制,可以通过更改单个变量来更改。
问题是,我如何将该变量传递给DocumentFilter
?
这是我的自定义DocumentFilter
类(大部分代码已删除):
class DefaultDocFilter extends DocumentFilter
{
public void insertString(FilterBypass fb, int offs,
String str, AttributeSet a)
{
//do something with charLimit
}
public void replace(FilterBypass fb, int offs, int length,
String str, AttributeSet a)
{
//do something else with charLimit
}
}
主要代码中的实现:
int charLimit = 40;
doc = (AbstractDocument) JTextArea.getDocument();
doc.setDocumentFilter(new DefaultDocFilter());
我如何传递charLimit
给DefaultDocFilter?