gpt4 book ai didi

java - 多个文本字段的文档监听器

转载 作者:行者123 更新时间:2023-11-29 04:51:35 25 4
gpt4 key购买 nike

我有以下代码:

 private void filter2method() {

filterR.getDocument().addDocumentListener(new DocumentListener() {//currently the document listener is set for textfield called filterR1

@Override
public void insertUpdate(DocumentEvent e) {
newFilter();
}

@Override
public void removeUpdate(DocumentEvent e) {
newFilter();
}

@Override
public void changedUpdate(DocumentEvent e) {
newFilter();
}

private void newFilter() {
RowFilter <DefaultTableModel, Object>rf =null;
List<RowFilter<Object,Object>> rfs =
new ArrayList<RowFilter<Object,Object>>();

ArrayList textAL = new ArrayList();
String text = filterR.getText();
textAL.add(text);
String text1 = filterR1.getText();
textAL.add(text1);
String text2 = filterR2.getText();
textAL.add(text2);


try {
for (int i = 0; i < textAL.size(); i++) {
rfs.add(RowFilter.regexFilter("(?i)" + textAL.get(i), 2, 6, 11));
}

rf = RowFilter.andFilter(rfs);

} catch (java.util.regex.PatternSyntaxException e) {
return;
}

sorter.setRowFilter(rf);
} }

);
}

目前,文档监听器设置为文本字段 filterR,但我希望监听器还包括 filterR1 和 filterR2,因为我在搜索文本字段 filterR1 和 filterR2 的代码中有一个搜索过滤器,即组合过滤器搜索。

如何更改我的文档监听器以覆盖不止 1 个文本字段?

最佳答案

好吧,您可以将 DocumentListener 分配给一个变量

DocumentListener docListener = new DocumentListener() {
...
};

并将它用于所有文本字段

filterR.getDocument().addDocumentListener(docListener);
filterR1.getDocument().addDocumentListener(docListener);
filterR2.getDocument().addDocumentListener(docListener);

...

关于java - 多个文本字段的文档监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35247191/

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