Filtrer une JTable

yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013 - 14 mai 2012 à 16:09
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 30 mai 2012 à 03:53
Bonjour,

je suis entrain de faire un programme en Java.
J'ai créé une JTable dont je récupère les données dans un fichier.
L'affichage fonctionne très bien mais je voudrais pouvoir filtrer l'affichage.

J'ai regardé ce que je trouvais sur internet mais je n'y suis pas arrivé.
Voici les codes que j'ai tenté d'utiliser :

public void newFilter(int donnee) {
        RowFilter<Object, Object> rf = null;
         TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(modeleDynamique);
        //If current expression doesn't parse, don't update.
        try 
        {
            rf = RowFilter.regexFilter(".*"+ donnee +".*");	
        } 
        catch (java.util.regex.PatternSyntaxException e) 
        {
            return;
        }
        sorter.setRowFilter(rf);
    }

et :

public void filtre(final int donnee){

RowFilter<Object, Object> filter = new RowFilter<Object, Object>() {
      	      public boolean include(Entry entry) {
      	        Integer population = donnee;//(Integer) entry.getValue(1);
      	        return population.intValue() > 3;
      	      }
      	    };
  	    TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(modeleDynamique);
  	    sorter.setRowFilter(filter);
  	    tableau.setRowSorter(sorter);
}


Je n'arrive pas à comprendre comment on sélectionne la colonne dans laquelle on cherche une valeur ni où on définit cette valeur.
J'ai aussi essayé en mettant un String en paramètre mais ça n'a rien changé.

Savez-vous ce qui correspond à quoi (colonne dans laquelle on cherche un String ou un nombre, la valeur de ce String ou de ce nombre) ?

Merci.
Bonne journée.

4 réponses

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
30 mai 2012 à 03:53
Salut,

Maintenant pour filtrer le contenu d un JTable ;o) il faut utiliser les "Sorter" ... très simple à utiliser et efficasse... ;o)


GodConan ;o)
1
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
15 mai 2012 à 07:54
0
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013
15 mai 2012 à 10:20
Merci pour ta réponse.

En effet, c'est quelque chose comme ça dont j'ai besoin.
Le programme fait ce que je veux sur l'exemple mais vu que j'ai un tableau avec un modèle dynamique ça me parait compliqué à adapter (en tout cas pour le moment je n'y suis pas arrivé).
0
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013
29 mai 2012 à 16:23
J'ai essayé d'utiliser cet exemple avec mon code mais impossible de le faire marcher alors qu'il marche très bien avec les données statiques.

Quelqu'un sait-il comment faire ?
0
Rejoignez-nous