我有一个简单的库应用程序,它需要完成的一件事是结帐/退货。在那个结账/退货窗口,我有两个表,一个"图书清单"桌子,开始充满了我已经存储的书籍,以及" Checkout / Return"表,从空开始。通过双击Book List表中的项目来填充Checkout / Return表,然后通过双击其中显示的项目来减少填充。双击向/从结帐/返回ArrayList添加或删除书籍项目(然后显示在表格中)。
我正在寻找的是通过Checkout / Return ArrayList的内容过滤Book List表中的书籍的方法。 (此时无法发布所需效果的图像)。
这是否可能,如果是这样,这与通过JTextField的内容进行过滤有多相似?
编辑:我发现这种方法之后:http://pulkitsinghal.blogspot.com/2010/06/multiple-row-filters-for-jtable.html。
RowFilter<TableModel, Object> firstFiler = null;
RowFilter<TableModel, Object> secondFilter = null;
List<RowFilter<TableModel,Object>> filters = new ArrayList<RowFilter<TableModel,Object>>();
RowFilter<TableModel, Object> compoundRowFilter = null;
try {
firstFiler = RowFilter.regexFilter(yourRegexString, columnIndex);
secondFilter = RowFilter.regexFilter(yourRegexString, columnIndex);
filters.add(firstFiler);
filters.add(secondFilter);
compoundRowFilter = RowFilter.andFilter(filters); // you may also choose the OR filter
} catch (java.util.regex.PatternSyntaxException e) {
return;
}
sorter.setRowFilter(compoundRowFilter);
然而,这实现了我想要的相反的效果。我想过滤掉与过滤器输入匹配的所有内容,而不是过滤掉与过滤器输入不匹配的所有内容。