J'ai recherché comment utiliser plusieurs filtres ici avec une table standard et les réponses ont toutes pointé vers GlazedLists
. Cependant, les réponses ne précisaient pas comment l'utiliser. J'ai réussi à faire fonctionner un filtre mais je ne sais pas comment en obtenir plus d'un. Pour un filtre je:Création et utilisation de plusieurs filtres/recherches à l'aide de JTable ou de 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);
}
Dupliquer le code et créer un autre JTextField
ne fonctionne pas. J'ai regardé ce problème et il semble CompositeMatcherEditor
peut fonctionner. Le problème est que je ne sais pas comment l'implémenter.
En outre, j'utilise Eclipse. J'ai téléchargé GlazedLists
1.8.0 et l'ai déposé dans Eclipse. Cependant, je ne peux pas l'utiliser. J'ai des carrés rouges partout (sauf pour le dossier source)! J'ai même ajouté le fichier jar.
J'espère que je me suis expliqué correctement. S'il vous plaît laissez-moi savoir si j'ai besoin de développer.
Mon Pastebin: Name, Browser, TableFormat, TableModel
La première option a fonctionné à merveille. Pour faire un troisième que vous utilisez: 'EventList filtré = new FilterList (nouvelle FilterList (nouvelle FilterList (nouvelle FilterList (NAMEE, myFirstMatcherEditor), mySecondMatcherEditor), myLastMatcherEditor);' Est-ce exact Le second? l'option m'a donné une erreur 'CompositeMatcherEditor n'est pas défini' – twodayslate
Voici les documents de l'API: http://publicobject.com/glazedlists/glazedlists-1.8.0/api/ - sans aucun doute, CompositeMatcherEditor est la bonne façon de le faire - empiler les listes de filtres comme vous l'avez fait fonctionnera, mais c'est inefficace –
PS - votre message d'erreur indique que vous n'avez tout simplement pas les bonnes importations de paquets Si vous n'êtes pas sûr de savoir comment importer le paquet nécessaire (ca.odell.glazedlists.matchers), faites le moi savoir. Je * recommande * * vraiment que vous regardiez l'information de lisant que j'ai posté ci-dessus - il y a un très bon exemple de code dans les deux ceci et les screencasts. –