IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

gérer des évenements sur des objets créés dynamiquement ?


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 10
    Par défaut gérer des évenements sur des objets créés dynamiquement ?
    Bonjour.
    J'ai une JTable avec un modèle défini (nombre de colonnes fixe) mais qui est remplie automatiquement à partir d'un ResultSet. J'ai donc un nombre de lignes variable selon les données récupérées. Je souhaite associer une action à chacune de ces lignes. Je pensais redéfinir mon TableModel pour inclure un bouton à la fin de chaque ligne mais comment gérer les évenements dans ce cas la ? y-a-t'il une meilleure solution ?

    Merci de votre aide.

  2. #2
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    1) Quelles actions veux-tu affecter à chaque ligne? (même type d'action ou une action vraiment différente suivant la ligne)

    2) Pourquoi n'affectes-tu pas un ActionListener à ta JTable, et ensuite tu différenties le traitement suivant le numéro de la ligne sur laquelle tu as cliqué?

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 10
    Par défaut
    C'est toujours la même action pour chaque ligne. En fait la JTable sert à afficher des infos simplement, elle n'est pas modifiable mais pour chaque ligne je veux pouvoir afficher des infos supplémentaires dans un panel plus bas. Il faut donc en quelque sorte pouvoir la sélectionner entièrement c'est pour ca que j'ai pensé à des boutons. L'ActionListener sur la JTable serait capable de savoir quel bouton a été enfoncé et récupérer ensuite des valeurs de la ligne correspondante ?
    Merci de ton aide.

  4. #4
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Citation Envoyé par pride
    C'est toujours la même action pour chaque ligne. En fait la JTable sert à afficher des infos simplement, elle n'est pas modifiable mais pour chaque ligne je veux pouvoir afficher des infos supplémentaires dans un panel plus bas. Il faut donc en quelque sorte pouvoir la sélectionner entièrement c'est pour ca que j'ai pensé à des boutons. L'ActionListener sur la JTable serait capable de savoir quel bouton a été enfoncé et récupérer ensuite des valeurs de la ligne correspondante ?
    Merci de ton aide.
    En définissant un MouseListener (je me suis trompé en tapant tout à l'heure) sur ta JTable, tu peux récupérer le numéro de la ligne sur laquelle tu as cliquée. A partir du numéro de ligne et du model de ta JTable, tu peux remonter jusqu'au données qui y sont stockées.
    Il ne te reste plus qu'à les afficher dans ton JPanel...

  5. #5
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 10
    Par défaut
    Ok merci je tiens au courant.

  6. #6
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 10
    Par défaut
    J'ai réussi à mettre des JButton dans ma JTable (ce qui n'est easy soit dit en passant ^^). J'ai donc une classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ButtonEditor extends JButton implements TableCellEditor
    ou je défini dans le constructeur un ajout d'ActionListener. Mais ensuite pour ActionPerformed, je vois pas comment récupérer le numéro de la ligne...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment ajouter des séries dans des graphes sur des feuilles variables
    Par Molomarcopolo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2012, 16h26
  2. Ajouter des Listener sur des objets créés dynamiquement
    Par floctc dans le forum Composants
    Réponses: 10
    Dernier message: 23/04/2010, 16h35
  3. Réponses: 3
    Dernier message: 04/02/2010, 11h30
  4. Trigger pour mettre des droits sur des procedures et des vues
    Par briino dans le forum Développement
    Réponses: 3
    Dernier message: 23/09/2009, 09h44
  5. Mettre des textures et des couleurs sur les objets
    Par MaTtaW dans le forum PhysX et APEX
    Réponses: 5
    Dernier message: 31/07/2009, 17h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo