Pregunta

Busqué cómo usar múltiples filtros aquí con una tabla regular y todas las respuestas apuntaban a GlazedLists . Sin embargo, las respuestas no especificaron cómo usarlo. Pude hacer funcionar un filtro, pero no sé cómo obtener más de uno. Para un filtro que usé:

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

Duplicar el código y crear otro < code> JTextField no funciona. Busqué este problema y aparece CompositeMatcherEditor puede funcionar. El problema es que no sé cómo implementar esto.

Además, estoy usando Eclipse. Descargué GlazedLists 1.8.0 y lo coloqué en Eclipse. Sin embargo, no puedo usarlo. ¡Tengo cuadrados rojos por todas partes (excepto la carpeta de origen)! Incluso agregué el archivo jar.

Espero haberme explicado correctamente. Avíseme si necesito expandirme.

Mi Pastebin: Nombre , Navegador , TableFormat , TableModel

¿Fue útil?

Solución

TextFilterList está en desuso: consulte javadocs , pero eso es un problema secundario.

Hay varios enfoques que puede usar aquí: si desea realmente simple, simplemente envuelva su lista de filtros en otra lista de filtros:

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

Una mejor manera es usar varios editores de coincidencia para crear un CompositeMatcherEditor :

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

puede usar setMode para controlar si sus editores se combinan usando el comportamiento AND u OR.

Aquí está Debe leer la información sobre el uso de listas de filtros.

Los screencasts disponibles aquí también merecen la inversión de unos minutos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top