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 :

JPopupMenu et JList


Sujet :

Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 488
    Par défaut JPopupMenu et JList
    Bonjour,

    J'ai mis un JPopupMenu sur un composant JList, donc le popup s'affiche quand je clique droit, et je voudrais
    - récupérer la valeur de l'item de la JList qui est à l'endroit où j'ai cliqué.
    - sélectionner cet item

    Comment faire ?

    Merci,

    Nico

  2. #2
    Membre éclairé Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Par défaut
    Salut!

    Mets un Listener sur ton item de JList.

    Lorsque se produit l'évènement, tu lances une JOptionPane.

    @+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 488
    Par défaut
    OK, j'arrive à récupérer les coordonnées du curseur avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MDview.addMouseListener(new MouseAdapter(){
                @Override
                public void mousePressed(MouseEvent e) {            
                    System.out.println(e.getLocationOnScreen().getX() + " - " + e.getLocationOnScreen().getY());
                }
            });
    Mais comment savoir quel item de la JList est dessous ?

    Nico

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    JList.locationToIndex() après avoir retiré de la position écran du curseur la valeur JList.locationOnScreen() (puisque locationToIndex est relatif à la JList

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Les composants contenant plusieurs éléments (comme JList, JTree, JTable) proposent tous une méthode permettent de récupérer un élément par rapport à une position...

    Pour les JList c'est locationToIndex()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            public void mousePressed(MouseEvent e) {  
                	if (e.getComponent() instanceof JList) {
                		JList list = (JList) e.getComponent();
                		int index = list.locationToIndex(e.getPoint());
                		list.setSelectedIndex(index);
                		Object value = list.getSelectedValue();
                		System.out.println(index + " : " + value);
                	}
            }
    a++

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 488
    Par défaut
    ok, ça marche merci

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

Discussions similaires

  1. JList + JPopupMenu
    Par tommyly dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 02/01/2009, 13h14
  2. Réponses: 10
    Dernier message: 12/09/2008, 12h21
  3. JList & JPopupMenu
    Par Sylver--- dans le forum Composants
    Réponses: 2
    Dernier message: 15/05/2007, 12h33
  4. [Jlist] Clic sur jlist
    Par bibx dans le forum Composants
    Réponses: 6
    Dernier message: 07/05/2004, 10h19
  5. JList en line wrapping
    Par dreydrey dans le forum Composants
    Réponses: 3
    Dernier message: 16/12/2003, 11h22

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