Создание и использование нескольких фильтров / поисков с использованием JTable или GlazedLists

Я посмотрел, как использовать несколько фильтров здесь с обычной таблицей, и ответы все указали на 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. Тем не менее, я не могу использовать это. У меня повсюду красные квадраты (кроме папки с исходным кодом)! Я даже добавил файл фляги.

Я надеюсь, что я объяснил себя правильно. Пожалуйста, дайте мне знать, если мне нужно расширить.

Мой Pastebin: имя, браузер, TableFormat, TableModel

1 ответ

Решение

TextFilterList устарел - смотрите javadocs - но это побочная проблема.

Есть несколько подходов, которые вы можете использовать здесь - если вы хотите действительно простой, то просто оберните ваш список фильтров в другой список фильтров:

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

Лучше всего использовать несколько редакторов соответствия для создания CompositeMatcherEditor:

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

Вы можете использовать setMode, чтобы контролировать, комбинируются ли ваши редакторы с использованием поведения И или ИЛИ.

Здесь необходимо прочитать информацию об использовании списков фильтров.

Скриншоты, доступные здесь, также стоят вложений в несколько минут.

Другие вопросы по тегам