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

  1. #1
    Candidat au Club
    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
    Points : 4
    Points
    4
    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
    Points : 722
    Points
    722
    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
    Candidat au Club
    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
    Points : 4
    Points
    4
    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
    Points : 722
    Points
    722
    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
    Candidat au Club
    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
    Points : 4
    Points
    4
    Par défaut
    Ok merci je tiens au courant.

  6. #6
    Candidat au Club
    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
    Points : 4
    Points
    4
    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...

  7. #7
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Je suppose qu'après un clic, la JTable aura sélectionné la bonne ligne et la bonne colonne (qui correspondent à ton bouton). Donc je dirais maJTable.getSelectedRow/Column()
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  8. #8
    Candidat au Club
    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
    Points : 4
    Points
    4
    Par défaut
    Je suis dsl mais je capte pas. Concrètement, à partir d'un MouseEvent sur mon JButton, comment je fais le lien avec la ligne de ma JTable. Quelle méthode utiliser ?
    Merci bcp.

  9. #9
    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
    Points : 722
    Points
    722
    Par défaut
    Citation Envoyé par pride
    Je suis dsl mais je capte pas. Concrètement, à partir d'un MouseEvent sur mon JButton, comment je fais le lien avec la ligne de ma JTable. Quelle méthode utiliser ?
    Merci bcp.
    Ben xav vient de te le dire : maJTable.getSelectedRow() / maJTable.getSelectedColumn().
    Ca te retourne la ligne / colonne sélectionnée, donc celle dans laquelle se situe le bouton sur lequel tu as cliqué normalement...

  10. #10
    Candidat au Club
    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
    Points : 4
    Points
    4
    Par défaut
    Dsl je ne savais pas que dans le corps de la méthode, le MouseEvent pris en paramètre ne servait à rien, je pensais être obligé de partir de là. En effet, ca marche nickel, me reste plus qu'à aller chercher dans cette ligne les valeurs qui m'intéressent.
    Merci pour votre aide.

+ 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