Java Fitler J数组列表的内容表

Java Fitler J数组列表的内容表,java,swing,arraylist,jtable,Java,Swing,Arraylist,Jtable,我有一个简单的图书馆应用程序,它需要完成的一件事是签出/归还书籍。在这个签出/归还窗口中,我有两个表,一个是“图书列表”表,开始时我已经存储了很多书,另一个是“签出/归还”表,开始时是空的。签出/返回表通过双击图书列表表中的项目填充,然后通过双击其内部显示的项目取消填充。双击在签出/返回阵列列表(然后显示在表中)中添加或删除书籍项目 我要寻找的是一种根据Checkout/returnarraylist的内容过滤图书列表中的图书的方法。(此时无法发布所需效果的图像) 这可能吗?如果可能,这与通过J

我有一个简单的图书馆应用程序,它需要完成的一件事是签出/归还书籍。在这个签出/归还窗口中,我有两个表,一个是“图书列表”表,开始时我已经存储了很多书,另一个是“签出/归还”表,开始时是空的。签出/返回表通过双击图书列表表中的项目填充,然后通过双击其内部显示的项目取消填充。双击在签出/返回阵列列表(然后显示在表中)中添加或删除书籍项目

我要寻找的是一种根据Checkout/returnarraylist的内容过滤图书列表中的图书的方法。(此时无法发布所需效果的图像)

这可能吗?如果可能,这与通过JTextField的内容进行过滤有多相似

编辑:我找到了以下方法:

RowFilter firstFiler=null;
RowFilter-secondFilter=null;
列表过滤器=新的ArrayList();
RowFilter compoundRowFilter=null;
试一试{
firstFiler=RowFilter.regexFilter(您的regexstring,columnIndex);
secondFilter=RowFilter.regexFilter(您的regexstring,columnIndex);
filters.add(firstFiler);
过滤器。添加(第二个过滤器);
compoundRowFilter=RowFilter.andFilter(filters);//您还可以选择或过滤器
}catch(java.util.regex.PatternSyntaxException e){
回来
}
分拣机。设置行过滤器(复合行过滤器);
然而,这达到了我想要的相反效果。我不想过滤掉与筛选输入不匹配的所有内容,而是想过滤掉与筛选输入匹配的所有内容。

从“排序和筛选”部分开始查找。我可能会做的是,在book类中放置一个(隐藏)字段,该字段将图书标记为借阅或不借阅,这样在过滤图书时会更有效
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);