gpt4 book ai didi

java - 在 JXTable 上设置多个 RowFilters

转载 作者:行者123 更新时间:2023-12-01 22:40:52 33 4
gpt4 key购买 nike

如何为 JXTable 中的 1 行添加多个过滤器?

我尝试使用:

int col = jxTable.getColumn("Tipo").getModelIndex();
RowFilter filter1 = RowFilters.regexFilter(0, "^N", col)
RowFilter filter2 = RowFilters.regexFilter(0, "^N", col)

jxTable.setRowFilter(filter1);
jxTable.setRowFilter(filter2);

但是filter2会覆盖filter1

用法:

我会做3个带有不同字母的复选框来过滤,

[ ]A  [ ]B  [ ]C

如果选中A,则仅显示以A开头的内容,如果选中B和A,则显示两者...

最佳答案

当您想要组合多个过滤器时,请使用 RowFilter.andFilter()RowFilter.orFilter() 方法。对于您的情况,听起来您想使用 orFilter 方法

步骤:

  • 将所有要添加到表格中的过滤器放入列表中
  • 调用RowFilter.andFilter()RowFilter.orFilter()来创建一个ANDOR<的过滤器是列表中的过滤器。
  • 将新创建的 ANDOR 过滤器应用到 JXTable。

示例:

//Code not tested
int col = jxTable.getColumn("Tipo").getModelIndex();
RowFilter filter1 = RowFilters.regexFilter(0, "^N", col)
RowFilter filter2 = RowFilters.regexFilter(0, "^N", col)

List<RowFilter> filters = new ArrayList<RowFilter>();
filters.add(filter1);
filters.add(filter2)
RowFilter orFilter = RowFilter.orFilter(filters);
jxTable.setRowFilter(orFilter);

关于java - 在 JXTable 上设置多个 RowFilters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26164711/

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