1

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

  // 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);
  }

复制代码并创建另一个代码JTextField不起作用。我查了这个问题,它似乎CompositeMatcherEditor可以工作。问题是我不知道如何实现这一点。

另外,我正在使用 Eclipse。我下载GlazedLists了 1.8.0 并将其放入 Eclipse。但是,我不能使用它。我到处都是红色方块(源文件夹除外)!我什至添加了jar文件。

我希望我已经正确解释了自己。如果我需要扩展,请告诉我。

我的 Pastebin:名称浏览器TableFormatTableModel

4

1 回答 1

5

不推荐使用 TextFilterList - 请参阅javadocs - 但这是一个附带问题。

您可以在这里使用几种方法 - 如果您想要非常简单,那么只需将您的过滤器列表包装在另一个过滤器列表中:

EventList filtered = new FilterList(new FilterList(nameE, myFirstMatcherEditor), mySecondMatcherEditor);

更好的方法是使用多个匹配器编辑器来创建CompositeMatcherEditor

EventList filtered = new FilterList(nameE, new CompositeMatcherEditor(myFirstMatcherEditor, mySecondMatcherEditor));

您可以使用 setMode 来控制您的编辑器是使用 AND 还是 OR 行为进行组合。

这是有关使用过滤器列表的必读信息。

此处提供的截屏视频也值得几分钟的投资。

于 2009-10-28T02:42:14.650 回答