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
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
Salut!
Mets un Listener sur ton item de JList.
Lorsque se produit l'évènement, tu lances une JOptionPane.
@+
OK, j'arrive à récupérer les coordonnées du curseur avec ce code :
Mais comment savoir quel item de la JList est dessous ?
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()); } });
Nico
JList.locationToIndex() après avoir retiré de la position écran du curseur la valeur JList.locationOnScreen() (puisque locationToIndex est relatif à la JList
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()
a++
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); } }
Partager