Java 使用JTable或GlazedList创建和使用多个过滤器/搜索

Java 使用JTable或GlazedList创建和使用多个过滤器/搜索,java,jtable,filtering,glazedlists,Java,Jtable,Filtering,Glazedlists,我在一个常规的表格中查找了如何使用多个过滤器,答案都指向了这个表格。然而,答案并没有具体说明如何使用它。我能够让一个过滤器工作,但不知道如何获得多个。 对于我使用的一个过滤器: // nameE is a BasicEventList containing classes (name) which // contain the table values TextFilterList filtered = new TextFilterList(nameE); JTextField

我在一个常规的表格中查找了如何使用多个过滤器,答案都指向了这个表格。然而,答案并没有具体说明如何使用它。我能够让一个过滤器工作,但不知道如何获得多个。 对于我使用的一个过滤器:

  // nameE is a BasicEventList containing classes (name) which 
  // contain the table values
  TextFilterList filtered = new TextFilterList(nameE);
  JTextField filterEdit = filtered.getFilterEdit();

  // Inside the table value class (name) there is a filter for myName
  public void getFilterStrings(List baseList) {
      baseList.add(myName);
  }
复制代码并创建另一个代码不起作用。我查了一下这个问题,似乎可以解决。问题是我不知道如何实现这一点

此外,我正在使用Eclipse。我下载了1.8.0并将其放到Eclipse中。然而,我不能用它。除了源文件夹外,我到处都是红色的方块!我甚至添加了jar文件

我希望我的解释是正确的。如果我需要扩展,请告诉我


My Pastebin:,

TextFilterList已被弃用-请参阅-但这是一个次要问题

这里有几种方法可供您使用-如果您希望非常简单,只需将过滤器列表包装到另一个过滤器列表中即可:

EventList filtered = new FilterList(new FilterList(nameE, myFirstMatcherEditor), mySecondMatcherEditor);
更好的方法是使用多个匹配器编辑器创建:

您可以使用setMode来控制编辑器是否使用AND或or行为进行组合

下面是有关使用筛选器列表的详细信息


可用的屏幕广播也值得几分钟的投资。

TextFilterList已被弃用-请参阅-但这是一个次要问题

这里有几种方法可供您使用-如果您希望非常简单,只需将过滤器列表包装到另一个过滤器列表中即可:

EventList filtered = new FilterList(new FilterList(nameE, myFirstMatcherEditor), mySecondMatcherEditor);
更好的方法是使用多个匹配器编辑器创建:

您可以使用setMode来控制编辑器是否使用AND或or行为进行组合

下面是有关使用筛选器列表的详细信息


可用的屏幕广播也值得几分钟的投资。

第一种选择效果非常好。要生成第三个过滤器,您可以使用:EventList filtered=new FilterListnew FilterListnew FilterListnew FilterListnew FilterListName、myFirstMatcherEditor、mySecondMatcherEditor、myLastMatcherEditor;对吗?第二个选项给了我一个错误。CompositeMatcherEditor未定义以下是API文档:-毫无疑问,CompositeMatcherEditor是执行此操作的正确方法-像您所做的那样堆叠筛选器列表将起作用,但效率低下。PS-您的错误消息表明您没有正确的包导入。如果您不确定如何导入必要的软件包ca.odell.glazedlists.matchers,请告诉我。我真的建议你看看我在上面发布的必读信息——这和屏幕广播中都有非常好的示例代码;进口的。截图似乎死在必读信息中。网站是在我这边还是在你这边被破坏了?对-你没有正确的导入。你还必须导入co.odell.glazedlists.matchers.*我发布的必读信息链接根本没有屏幕截图,只有大量非常有用的文本。如果你问我发布的第二个链接的屏幕广播,这些对我来说很好。第一个选项非常有效。要生成第三个过滤器,您可以使用:EventList filtered=new FilterListnew FilterListnew FilterListnew FilterListnew FilterListName、myFirstMatcherEditor、mySecondMatcherEditor、myLastMatcherEditor;对吗?第二个选项给了我一个错误。CompositeMatcherEditor未定义以下是API文档:-毫无疑问,CompositeMatcherEditor是执行此操作的正确方法-像您所做的那样堆叠筛选器列表将起作用,但效率低下。PS-您的错误消息表明您没有正确的包导入。如果您不确定如何导入必要的软件包ca.odell.glazedlists.matchers,请告诉我。我真的建议你看看我在上面发布的必读信息——这和屏幕广播中都有非常好的示例代码;进口的。截图似乎死在必读信息中。网站是在我这边还是在你这边被破坏了?对-你没有正确的导入。你还必须导入co.odell.glazedlists.matchers.*我发布的必读信息链接根本没有屏幕截图,只有大量非常有用的文本。如果你问我发布的第二个链接的屏幕广播,这些对我来说很好。