RowFilter RegexFilter - 如何避免使用逗号将整数转换为字符串?

时间:2016-12-15 17:19:01

标签: java swing javax

我将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);

如何更改此处的行为?

1 个答案:

答案 0 :(得分:2)

如果在表中存储整数数据,那么正则表达式将处理整数值。

渲染器格式化整数的方式对TableModel中的实际数据没有影响。

因此,请确保您的TableModel包含Integer值,并且已覆盖TableModel的getColumnClass(...)方法以返回该列的Integer.class