Clic droit pour afficher menu!!

cs_kaliel Messages postés 96 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 24 octobre 2005 - 4 mars 2004 à 17:41
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007 - 13 déc. 2004 à 20:54
bonjour
je voudrais faire en sorte que lorsque l'on on clique avec la souris (clic droit) dans une fenêtre un menu apparaisse, c'est une fonction classique du style pour éditer une propriété au autre.
en espérant avoir été clair, j'attends votre secours merci.

:clown)

4 réponses

dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
5 mars 2004 à 09:13
facile, tu ajoutes un lmouseListener a ta fenetre, avec qqchose de ce style

JPopupMenu popup_desktop = new JPopupMenu("Desktop Menu : ");
PopupListener popupListener = new PopupListener(popup_desktop);
this.addMouseListener(popupListener);

et ensuite tu ajoutes de menu et menuitem a ton popup, comme pour une jmenu bar...

avec la classe

//////////////////////////////////////////////////////////////////////////////
/**popup
*/
private class PopupListener
extends MouseAdapter {
JPopupMenu popup;

private PopupListener(JPopupMenu popupMenu) {
popup = popupMenu;
}

public void mousePressed(MouseEvent e) {
maybeShowPopup(e);
}

public void mouseReleased(MouseEvent e) {
maybeShowPopup(e);
}

private void maybeShowPopup(MouseEvent e) {
if (e.isPopupTrigger()) {
popup.show(e.getComponent(),
e.getX(), e.getY());
}
}
}
0
cs_kaliel Messages postés 96 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 24 octobre 2005 4
5 mars 2004 à 10:55
merci!
ça m'a bien aidé.
A+
0
babou6a Messages postés 27 Date d'inscription samedi 19 juin 2004 Statut Membre Dernière intervention 14 octobre 2008 2
12 déc. 2004 à 19:45
Bonjour,
J'ai essayé de faire la même chose sur l'appli que je developpe mais ça ne fait rien du tout ! voila mon code :

class Fenetre extends JFrame {
public Fenetre(){
[...]

JPopupMenu popupMenu = new JPopupMenu();
PopupListener popupListener = new PopupListener(popupMenu);

JMenuItem couperi = new JMenuItem("Couper");
JMenuItem copieri = new JMenuItem("Copier");
JMenuItem colleri = new JMenuItem("Coller");

popupMenu.add(couperi);
popupMenu.add(copieri);
popupMenu.add(colleri);

this.addMouseListener(popupListener);
}
}

et :

class PopupListener extends MouseAdapter {
JPopupMenu popup;

public PopupListener(JPopupMenu popupMenu) {
popup = popupMenu;
}

public void mousePressed(MouseEvent e) {
System.out.println("clic clic");
if (e.isPopupTrigger()) {
popup.show(e.getComponent(),
e.getX(), e.getY());
}
}
}

Cela n'ecrit meme pas "clic clic" a la console !!! Snif !
Je desespere !
Quelqu'un voit ou peut se trouver le problème ?
Merci
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
13 déc. 2004 à 20:54
parfois c'est sur le mouseReleased que tu catch l'evenement,
alors en plus de mousePressed mets tes methodes en appels dans
mouseReleased ...
-------------------
>:) dams >:)
-------------------
0
Rejoignez-nous