我将RowFilter.regexFilter(...)
应用到了我的表格中,Integer
列上的过滤功能并没有发挥作用。我认为在RowFilter.RegexFilter.include()
中,要评估的Integer
- 值将使用逗号转换为String
。
18 -> 18
4820 -> 4,820
85898 -> 85,898
但是我希望它是一个普通的Integer
- 没有任何逗号的字符串。
我正在为我的表设置RowFilter,如下所示:
String myfilterString = "^\Q46\E"; // integer value should start with "46"
RowFilter<Object, Object> patternFilter = RowFilter.regexFilter("(?i)" + myFilterString, columnIndex);
myTable.setRowFilter(patternFilter);
如何更改此处的行为?
答案 0 :(得分:2)
如果在表中存储整数数据,那么正则表达式将处理整数值。
渲染器格式化整数的方式对TableModel中的实际数据没有影响。
因此,请确保您的TableModel包含Integer值,并且已覆盖TableModel的getColumnClass(...)
方法以返回该列的Integer.class
。