[RESOLU][JTree][JPopupMenu] Créer un menu contextuel (clic droit)

Créer un menu contextuel (clic droit) [RESOLU][JTree][JPopupMenu] - Java - Programmation

Marsh Posté le 17-04-2003 à 16:46:15    

Salut, je souhaiterai afficher un menu contextuel lorsque je clic sur un noeud de mon JTree, pour ce faire, il me faut faire un JPopupMenu je crois. Ca c'est fait, mon problème, c'est récupérer le clic droit sur un noeud, je ne vois pas comment. J'ai bien pensé à l'événement MouseEvent sur mon JTree, mais il ne ce passe rien quand j'effectue mon clic droit.
Quelqu'un à t'il une idée sur mon problème ?
merci


Message édité par Math_Caen le 17-04-2003 à 17:30:20
Reply

Marsh Posté le 17-04-2003 à 16:46:15   

Reply

Marsh Posté le 17-04-2003 à 16:48:14    

tu pourrais toujours implementer l'interfacer MouseListener et le lier a ton JTree via addMouseListener, cette interface t'oblige a créer une méthode nommer mouseClicked. Ici tu peux detecter quel bouton a été cliquer et meme le nombre de clique

Reply

Marsh Posté le 17-04-2003 à 16:54:06    

Houla, ça me parait pas simple ton truc, là je vois pas trop comment faire  :??: Tu peux m'en dire d'avantage si c'est pas trop exagérer ?

Reply

Marsh Posté le 17-04-2003 à 17:04:16    

Tout d'abord, dans ta classe qui contient ton JTree tu rajoute  
 

Code :
  1. public class MaClasse extends JFrame implements MouseListener


 
en ajoutant cet interface, tu devra alors ajouté 3 ou 4 méthodes que l'interface t'oblige d'ajouter. (Voir la définition de l'interface MouseListener pour savoir lesquels). Un de ces méthode s'appelera  
 

Code :
  1. public void mouseClicked(MouseEvent me)


 
dans ta méthode mouseClicked, tu possede un objet MouseEvent que ta recu en parametre avec lequel tu peux savoir le bouton cliquer ou alors le nb de clique.  
 
ensuite... tu dois faire la commande suivante.
 

Code :
  1. JTree monTree = new JTree();
  2. monTree.addMouseListener(this);

Reply

Marsh Posté le 17-04-2003 à 17:29:51    

Merci, ça marche.  :bounce:   :lol:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed