Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1559 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  JTable, selection de cellule et gestion d'évènement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JTable, selection de cellule et gestion d'évènement

n°257871
bobuse
Posté le 30-11-2002 à 18:31:09  profilanswer
 

bin voilà, je voudrai simplement catcher l'évènement "une cellule est selectionnée dans ma JTable.
 
bon mon code :

Code :
  1. public class TableMois extends JPanel {
  2.     private JTable table;
  3.     public TableMois(final Calendar calendar) {
  4.         table = new JTable(new TableMoisModel(calendar));
  5.        
  6.         // je veux pouvoir selectionner une cellule à la fois
  7.         table.setRowSelectionAllowed(true);
  8.         table.setColumnSelectionAllowed(true);
  9.         table.setCellSelectionEnabled(true);
  10.        table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  11.        
  12.         // mon listener
  13.         TableMoisSelectionListener tableMoisSelectionListener=new TableMoisSelectionListener();
  14.         // mon listener est attentif aux changements de colonne
  15.         table.getColumnModel().getSelectionModel().addListSelectionListener(tableMoisSelectionListener);
  16.         // et aux changements de lignes
  17.         table.getSelectionModel().addListSelectionListener(tableMoisSelectionListener);
  18.        
  19.         // ...
  20.     }
  21.    
  22.     // ...
  23. }


 
Pb : c'est que j'arrive seulement à catcher "une colonne est selectionnée" ou une "ligne est selectionnée". Pour ruser, j'ai mis les deux dans mon source, mais du coup quand je selectionne un élément qui modifie la colonne et la ligne, et ben je déclenche deux événements :/
 
Bon, j'ai cherché et je trouve pas, mais il doit bien y a voir un truc ...

mood
Publicité
Posté le 30-11-2002 à 18:31:09  profilanswer
 

n°257906
HappyHarry
Posté le 30-11-2002 à 19:26:06  profilanswer
 

tu implementes TableModelListener et tu définis donc le corps de la méthode void tableChanged(TableModelEvent) et la dedans tu as juste a recuperer la ligne en faisant un getFirstRow() et de meme pour la colonne

n°258184
bobuse
Posté le 01-12-2002 à 12:15:38  profilanswer
 

heu non, ça marche pas trop. Mais TableModelListener, ça sert à détecter les changements de valeurs dans la table, et moi c'est pas ça que je veux (ma table n'est pas editable d'ailleurs). Ou alors je m'y suis pas bien pris ...


Message édité par bobuse le 01-12-2002 à 12:16:09
n°258258
HappyHarry
Posté le 01-12-2002 à 14:55:50  profilanswer
 

bobuse a écrit a écrit :

heu non, ça marche pas trop. Mais TableModelListener, ça sert à détecter les changements de valeurs dans la table, et moi c'est pas ça que je veux (ma table n'est pas editable d'ailleurs). Ou alors je m'y suis pas bien pris ...




 
ben c comme ca que je fais et ca marche ...

n°258273
benou
Posté le 01-12-2002 à 15:26:38  profilanswer
 
n°258359
bobuse
Posté le 01-12-2002 à 17:26:40  profilanswer
 


oui ok, mais ça, ça définit la manière de selectionner les lignes, donc si j'y ajoute un listener, ça ne detectera que les changements de lignes, et pas de cellules sur un même ligne ...
 
Pffff, ça se perd vite le Java, en 2 mois, je suis (re)devenu ... heu je sais pas quoi, mais pas top (je rame un peu) ! arf

n°258368
HappyHarry
Posté le 01-12-2002 à 17:37:01  profilanswer
 

bobuse a écrit a écrit :

 
oui ok, mais ça, ça définit la manière de selectionner les lignes, donc si j'y ajoute un listener, ça ne detectera que les changements de lignes, et pas de cellules sur un même ligne ...
 
Pffff, ça se perd vite le Java, en 2 mois, je suis (re)devenu ... heu je sais pas quoi, mais pas top (je rame un peu) ! arf




 
ben t'as fait comment ton truc la
 
l'object qui contient la jtable implemente tablemodellistener et pis y a pas de soucis particulier, ca marche tres bien apres getfirstrow et getfirstcolumn
 
t'as essayé ?

n°258372
benou
Posté le 01-12-2002 à 17:42:41  profilanswer
 

bobuse a écrit a écrit :

 
Pffff, ça se perd vite le Java, en 2 mois, je suis (re)devenu ... heu je sais pas quoi, mais pas top (je rame un peu) ! arf




tu vas pas très loin dans les liens que je te file ...
http://java.sun.com/j2se/1.4/docs/ [...] nListener)

n°258387
bobuse
Posté le 01-12-2002 à 17:58:52  profilanswer
 

benou a écrit a écrit :

 
tu vas pas très loin dans les liens que je te file ...
http://java.sun.com/j2se/1.4/docs/ [...] nListener)




Mais si, je suis allé voir (et j'y étais déjà allé avant, quand même ;) ), mais ça concerne que la selection de ligne.
 
happyharry -> void tableChanged(TableModelEvent) est appelée quand un élément de la table est modifié, non ? En tout cas quand je selectionne une cellule, elle n'est pas appelée (celle que j'ai implémentée)

n°258402
benou
Posté le 01-12-2002 à 18:23:29  profilanswer
 

bobuse a écrit a écrit :

 
Mais si, je suis allé voir (et j'y étais déjà allé avant, quand même ;) ), mais ça concerne que la selection de ligne.



t'es sur ???

mood
Publicité
Posté le 01-12-2002 à 18:23:29  profilanswer
 

n°258410
benou
Posté le 01-12-2002 à 18:48:25  profilanswer
 

benou a écrit a écrit :

 
t'es sur ???




ha ben ouais ... :(

n°258436
bobuse
Posté le 01-12-2002 à 19:39:51  profilanswer
 

benou a écrit a écrit :

 
ha ben ouais ... :(



et ouais ...  
 [:nowad]

n°258456
HappyHarry
Posté le 01-12-2002 à 20:22:15  profilanswer
 

bobuse a écrit a écrit :

 
Mais si, je suis allé voir (et j'y étais déjà allé avant, quand même ;) ), mais ça concerne que la selection de ligne.
 
happyharry -> void tableChanged(TableModelEvent) est appelée quand un élément de la table est modifié, non ? En tout cas quand je selectionne une cellule, elle n'est pas appelée (celle que j'ai implémentée)
 




 
euh j'vais verifier ca alors :whistle:

n°258520
HappyHarry
Posté le 01-12-2002 à 22:30:31  profilanswer
 

hop je m'auto flagelle, c pas le bon truc que je regardais

n°258521
HappyHarry
Posté le 01-12-2002 à 22:31:18  profilanswer
 

pkoi tu veux catcher l'evenement au fait ? tu veux faire quoi exactement ?
 

n°259104
bobuse
Posté le 02-12-2002 à 17:15:18  profilanswer
 

HappyHarry a écrit a écrit :

pkoi tu veux catcher l'evenement au fait ? tu veux faire quoi exactement ?




Ben en fait j'affiche un tableau avec les jours du mois (les colonnes sont les jours de la semaine). Et quand on clique sur une case (qui contient un jour du mois affiché), je voudrai par exemple afficher des infos sur les événements associés à cette date ... voilà voilà

n°259107
HappyHarry
Posté le 02-12-2002 à 17:17:54  profilanswer
 

bobuse a écrit a écrit :

 
Ben en fait j'affiche un tableau avec les jours du mois (les colonnes sont les jours de la semaine). Et quand on clique sur une case (qui contient un jour du mois affiché), je voudrai par exemple afficher des infos sur les événements associés à cette date ... voilà voilà




 
ce que j'ai fait, c ajouter un MouseListener pour catcher le click
et a partir de la getSelectedRow() et getSelectedColumn te donnent les coordonnées de la cellule

n°259108
bobuse
Posté le 02-12-2002 à 17:20:58  profilanswer
 

HappyHarry a écrit a écrit :

 
 
ce que j'ai fait, c ajouter un MouseListener pour catcher le click
et a partir de la getSelectedRow() et getSelectedColumn te donnent les coordonnées de la cellule




ouais ok, j'y avais déjà pensé, mais je m'étais dit (comme d'habitude  :sarcastic: ) : y a bien un moyen de faire ça avec ces tas de TableModel à la con (oups ... pardon !)
Je crois que je vais faire comme ça ... finalement !
merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  JTable, selection de cellule et gestion d'évènement

 

Sujets relatifs
[assembleur] Gestion postion souris + Affichage [Need Help] -> Page 2[Fork] Gestion des childs - Besoin d'aides :)
Gestion des threads en PerlCreation d'un evenement
help selection sqlEvénement pendant une boucle TANTQUE
[JS] Gestion des cookiesVBA - sélection d'une celulle d'une feuille d'un classeur d'Excel 97
remplacer le text d'une selection par un autre???Création d'un serveur SQL Server puis sélection ds groupe.
Plus de sujets relatifs à : JTable, selection de cellule et gestion d'évènement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR