Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2156 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] Problème avec JPopupMenu [résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Problème avec JPopupMenu [résolu]

n°563109
Krueger
tout salaire demande dutravail
Posté le 10-11-2003 à 12:14:48  profilanswer
 

Bonjour,
 
J'ai créé un JPopupMenu qui peut s'afficher dans différentes circonstances (activation d'un hyperlien ou cliquage d'une sélection textuelle). Mon problème est que je ne parviens pas à le faire disparaître correctement. J'aimerais par exemple qu'un clic hors du menu contextuel le fasse disparaître. Je pensais qu'il suffirait d'ajouter un mouse listener dans la JFrame où apparaît ce menu, mais rien d'y fait ! :( Alors mis à part ajouter un tel listener pour chaque composant graphique de mon application, quelqu'un connaît-il une solution moins dégeulasse ? Merci d'avance ! :hello:


Message édité par Krueger le 10-11-2003 à 13:39:22

---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
mood
Publicité
Posté le 10-11-2003 à 12:14:48  profilanswer
 

n°563114
nraynaud
lol
Posté le 10-11-2003 à 12:26:03  profilanswer
 

http://java.sun.com/docs/books/tut [...] html#popup
bizarre, dans le tutorial, ils mettent rien pour le faire disparaitre. t'es sûr que t'as besoin de mettre quelquechose ?


---------------
trainoo.com, c'est fini
n°563123
Krueger
tout salaire demande dutravail
Posté le 10-11-2003 à 12:51:15  profilanswer
 

Ben j'ai beau cliquer à côté, il reste visible. :/ Reste que ce n'est pas un menu qui apparaît par un clic droit dans le cas où.


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°563157
Krueger
tout salaire demande dutravail
Posté le 10-11-2003 à 13:39:19  profilanswer
 

Problème résolu : il faut utiliser show(Component, int, int) au lieu de setVisible(boolean) pour faire apparaître le menu contextuel.
Rien sur le tutorial ni la javadoc pour ça. :sarcastic:


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°563266
veryfree
Posté le 10-11-2003 à 15:33:15  profilanswer
 

j'ai comme un doute la :D
 
 
edit:
 

Code :
  1. JPopupMenu popup;
  2.     //...where the GUI is constructed:
  3.     //Create the popup menu.
  4.     popup = new JPopupMenu();
  5.     menuItem = new JMenuItem("A popup menu item" );
  6.     menuItem.addActionListener(this);
  7.     popup.add(menuItem);
  8.     menuItem = new JMenuItem("Another popup menu item" );
  9.     menuItem.addActionListener(this);
  10.     popup.add(menuItem);
  11.     //Add listener to components that can bring up popup menus.
  12.     MouseListener popupListener = new PopupListener();
  13.     output.addMouseListener(popupListener);
  14.     menuBar.addMouseListener(popupListener);
  15. ...
  16. class PopupListener extends MouseAdapter {
  17.     public void mousePressed(MouseEvent e) {
  18.         maybeShowPopup(e);
  19.     }
  20.     public void mouseReleased(MouseEvent e) {
  21.         maybeShowPopup(e);
  22.     }
  23.     private void maybeShowPopup(MouseEvent e) {
  24.         if (e.isPopupTrigger()) {
  25.            popup.show(e.getComponent(),
  26.                        e.getX(), e.getY());
  27.         }
  28.     }
  29. }


 
http://java.sun.com/docs/books/tut [...] html#popup


Message édité par veryfree le 10-11-2003 à 15:41:12
n°563300
Krueger
tout salaire demande dutravail
Posté le 10-11-2003 à 16:46:29  profilanswer
 

veryfree a écrit :

j'ai comme un doute la :D
...


 
Certes, mais rien ne disait qu'il ne fallait pas utiliser setVisible(boolean) sous peine de risquer d'être confronté au problème que j'ai eu. Avec les méthodes show() obsolétées et setVisible(boolean) recommandées pour les composants graphiques en général, j'ai eu le réflexe d'ignorer toutes les méthodes dont le nom est show. :whistle:

n°563312
veryfree
Posté le 10-11-2003 à 17:14:28  profilanswer
 

perso jpe pas dire, jm'inspire souvent de code venant de softs libres :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] Problème avec JPopupMenu [résolu]

 

Sujets relatifs
Problème de conversion avec les fonctions pack & unpack[PHP] Probleme sur la fonction header()
Problème de <TABLE>[C] petit probleme sur un prog tout simple !!
différence entre postgresql et mysql [résolu merci][résolu]HTTP_REFERER besion d'aide
[Java]Appeler une méthode d'une classe à partir d'1 String [Résolu]probleme avec les slashes en upload
[Java] URL de la page des ressources pour faire du GUI 
Plus de sujets relatifs à : [Java] Problème avec JPopupMenu [résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR