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

StackOverflow https://stackoverflow.com/questions/1631788

Вопрос

Я посмотрел, как использовать несколько фильтров здесь с обычной таблицей, и все ответы указали на 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);
  }

Дублирование кода и создание другого < code> JTextField не работает. Я посмотрел на эту проблему, и она выглядит CompositeMatcherEditor может работать. Проблема в том, что я не знаю, как это реализовать.

Также я использую Eclipse. Я загрузил GlazedLists 1.8.0 и поместил его в Eclipse. Тем не менее, я не могу использовать это. У меня повсюду красные квадраты (кроме папки с исходным кодом)! Я даже добавил файл фляги.

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

Мой Pastebin: Имя , Браузер , TableFormat , TableModel

Это было полезно?

Решение

TextFilterList устарел - см. javadocs - но это побочный вопрос.

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top