Salut,

Dans mon JFrame j'ai une JTable qui affiche bien des données de ce genre :

nom prénom adresse


nom1 prenom1 adresse1
nom2 prenom2 adresse2
xnom3 xprenom3 xadresse3


avec ce JTable, j'ai aussi un JTextField, je lance une recherche après chaque saisie d'une lettre, par exemple si je tape "no", la table doit afficher les deux premiers enregistrements, si je tape "nom2" la table doit afficher le deuxième enregistrement etc....

PROBLÈME :

j'arrive bien à lancer la recherche après chaque saisie d'une lettre dans le jTextField, mais le problème que j'ai, c'est que j'arrive pas à redessiner le JTable sachant que j'obtiens bien la liste souhaitée.

Voici le code que j' exécute après chaque saisie d'une lettre dans le jTextField:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {                                        
      //Lancer la recherche des éléments qui commence par les caractères saisis par l'utilisateur.
      List fichesPatient = this.getFichePatientService().getAllFichesPatients(this.jTextField1.getText());
     //On redéssine le tableau et on y ajoute les éléments de la liste.
      this.jTable1 = new JTable(fichesPatient.size(), 6);//On écrase l'ancien table qui affiche les données avant la saisie d'une lettre dans la zone de texte.
      if(fichesPatient !=null && fichesPatient.size()>0){
          Iterator it = fichesPatient.iterator();
          int ligneTableau = 0;
          while(it.hasNext()){
               FichePatient fichePatient = (FichePatient)it.next();
               this.jTable1.setValueAt(fichePatient.getNomPatient(), ligneTableau, 0);
               this.jTable1.setValueAt(fichePatient.getPrenomPatient(), ligneTableau, 1);
               this.jTable1.setValueAt(fichePatient.getDatePremiereVisitePatient(), ligneTableau, 2);
               this.jTable1.setValueAt(fichePatient.getDateDerniereVisitePatient(), ligneTableau, 3);
               this.jTable1.setValueAt(fichePatient.getReferenceDossierPatient(), ligneTableau, 4);
               ligneTableau++;
          }
          this.jTable1.setVisible(true);
      }
    }
malgré que j'ai fait un new JTable pour écraser l'ancien, ça marche pas, et la table reste la même.

avez-vous une idée SVP?

Par avance merci.