gpt4 book ai didi

java - 将变量传递给 DocumentFilter

转载 作者:行者123 更新时间:2023-12-02 09:36:10 24 4
gpt4 key购买 nike

我正在创建一个自定义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?

最佳答案

您可以简单地添加为成员变量:

class DefaultDocFilter extends DocumentFilter
{
private int charLimit = 40;

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
}

public int getCharLimit() {
return charLimit;
}

public void setCharLimit(int charLimit) {
this.charLimit = charLimit;
}
}

然后:

doc.setCharLimit(charLimit);

关于java - 将变量传递给 DocumentFilter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12411295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com