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

 Java Discussion :

Distinguer le composant recevant un clic


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut Distinguer le composant recevant un clic
    Bonjour,

    j'ai un Panel contenant une centaine de JLabel.
    Je voudrais déclencher un traitement lorsqu'un clic est effectué sur un de ceux-ci.
    Ce traitement est commun à tous, et donc il est réalisé dans une même procédure implémentant un 'MouseListener'.

    Mon souci est de trouver un système qui permette de connaitre le JLabel ayant reçu le clic. Lorsqu'il y en a 4, c'est facile, mais une centaine... je me vois mal utiliser un 'switch / case'.

    Existe-t-il un moyen ou une astuce permettant d'identifier facilement un de ces composants ?

    Merci & @ bientôt...

  2. #2
    Membre expérimenté Avatar de akrom
    Homme Profil pro
    Automaticien
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Par défaut
    Ce n'est peut être pas la meilleure solution mais tu peux récupérer la position de la souris au moment du clic et récuperer ton composant avec tonPanel.getComponentAt(positionSouris)

  3. #3
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    La méthode getSource() de MouseEvent permet de connaître le composant source de l'événement.

  4. #4
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut
    Merci à vous deux pour ces réponses.

    Effectivement, j'arrive à l'aide de getSource() couplé à la position de la souris, connaitre l'objet qui a reçu le clic.

    Les JLabel étant organisés sous forme de lignes et colonnes, je suis obligé de calculer, selon la coordonnée du clic, la colonne et ligne d'appartenance du clic.

    J'aurai bien vu un système de 'tag' affecté à chaque JLabel, dans lequel aurait été inscrit sa ligne et colonne d'appartenance. Ainsi, lorsqu'un clic a lieu sur un objet, cette propriété me donnerait immédiatement sa coordonnée tableau. Malheureusement, je ne vois pas de membre dans la classe JLabel qui permettrait ce marquage...

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    767
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 767
    Par défaut
    getSource() renvoie l'objet, il suffit de tester si c'est celui que tu veux. Pas besoin de la position de la souris.

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Pourquoi ne pas utiliser une JTable si ce que tu cherches à afficher est une sorte de tableau?

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

Discussions similaires

  1. Distinguer le clic droit du clic gauche sur un TTreeView
    Par kimlee dans le forum Composants VCL
    Réponses: 4
    Dernier message: 25/11/2009, 13h53
  2. Clic droit sur le composant TShellTreeView
    Par PHIL45 dans le forum Composants VCL
    Réponses: 7
    Dernier message: 06/09/2009, 12h14
  3. Distinguer composants même nature dans CSS
    Par House MD dans le forum Flex
    Réponses: 2
    Dernier message: 16/03/2009, 18h06
  4. Detecter les clic pour des composants superposés.
    Par PadawanDuDelphi dans le forum Delphi
    Réponses: 5
    Dernier message: 22/05/2007, 08h52
  5. Retrouver sur un clic un composant créer dynamiquement
    Par PadawanDuDelphi dans le forum Composants VCL
    Réponses: 4
    Dernier message: 10/10/2006, 11h17

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