Domanda

Ho cercato come utilizzare più filtri qui con una tabella regolare e tutte le risposte hanno indicato GlazedLists . Tuttavia, le risposte non hanno specificato come usarlo. Sono stato in grado di far funzionare un filtro, ma non so come ottenerne più di uno. Per un filtro ho usato:

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

Duplicazione del codice e creazione di un altro < code> JTextField non funziona. Ho cercato questo problema e sembra CompositeMatcherEditor potrebbe funzionare. Il problema è che non so come implementarlo.

Inoltre, sto usando Eclipse. Ho scaricato GlazedLists 1.8.0 e l'ho scaricato in Eclipse. Tuttavia, non posso usarlo. Ho quadrati rossi dappertutto (tranne per la cartella di origine)! Ho persino aggiunto il file jar.

Spero di essermi spiegato correttamente. Per favore fatemi sapere se devo espandere.

My Pastebin: Nome , Browser , TableFormat , TableModel

È stato utile?

Soluzione

TextFilterList è obsoleto - vedi javadocs - ma questo è un problema secondario.

Esistono diversi approcci che è possibile utilizzare qui: se si desidera veramente semplice, avvolgere l'elenco dei filtri in un altro elenco di filtri:

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

Un modo migliore è utilizzare più editor di matcher per creare un CompositeMatcherEditor :

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

puoi usare setMode per controllare se i tuoi editor sono combinati usando il comportamento AND o OR.

Ecco Devi leggere le informazioni sull'uso degli elenchi di filtri.

Anche gli screencast disponibili qui valgono l'investimento di pochi minuti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top