Listener JTable

Signaler
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
-
Messages postés
298
Date d'inscription
jeudi 12 juin 2003
Statut
Membre
Dernière intervention
9 juillet 2008
-
Salut :

Y a t'il un listener lié au JTable?

J'ai besoin de capter le clic sur une cellule appartenant à un JTable pour récupérer les données qu'elle contient.

Et Merci ...

3 réponses

Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
2
slt
je pense que ce que tu peux faire c'est créer un listener qui gére les clique via:

taJTable.addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
//code à exécuter
}
}

public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
});

Attention, comme MouseListener est une interface, il faut forcément que tu redéfinisses toutes ses méthodes (mousePressed, mouseReleased...), même si le code y est vide.

voila ++
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
tout a fait et une recherche sur les code de ce site aurait repondu a ta recherche ^^

comme exemple d'implementation tu l'as dans une de mes source Diaporama il me semble
Messages postés
298
Date d'inscription
jeudi 12 juin 2003
Statut
Membre
Dernière intervention
9 juillet 2008
1
Voila un extrait de code qui montre l'utilisation d'un JTable avec deux colonnes, le changement de la séléction provoque la mise à jour du contenu de deux zones de texte (tfTitreCertificat et tfDateCertificat)

private DefaultListSelectionModel defaultListSelectionModel = new DefaultListSelectionModel(); 

 private JTable getTabCertificat() {
  if (tabCertificat == null) {
   tabCertificat = new JTable();


   defaultListSelectionModel
     .setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
   DefaultTableModel defaultTableModel = new DefaultTableModel();
   final String[] names = { "Titre certificat", "Date d'obtention" };
   defaultTableModel.setColumnIdentifiers(names);
   tabCertificat.setModel(defaultTableModel);
   tabCertificat.setSelectionModel(defaultListSelectionModel);


   defaultListSelectionModel
     .addListSelectionListener(new ListSelectionListener() {


      public void valueChanged(ListSelectionEvent e) {
       if (tabCertificat.getSelectedRow() != -1) {
        if (e.getValueIsAdjusting()) {

         tfTitreCertificat.setText((String) tabCertificat.getValueAt(  defaultListSelectionModel.getMaxSelectionIndex(), 0));


         tfDateCertificat.setText((String) tabCertificat.getValueAt(
               defaultListSelectionModel.getMaxSelectionIndex(),1));


        }
       }
      }
     });
  }
  return tabCertificat;
 }