Eracles70
Messages postés2Date d'inscriptiondimanche 7 mai 2006StatutMembreDernière intervention 2 mai 2011
-
2 mai 2011 à 15:54
Utilisateur anonyme -
3 mai 2011 à 23:02
Bonjour à toutes et à tous, je viens vers vous pour essayer de trouver une sollution à un problème que je n'arrive pas à résoudre depuis plusieurs jours ( voire semaines )
Dans mon application, j'ai un JMenu ( dans une JMenuBar ) qui contient differents JMenu et JMenuItem.
Mon objectif est d'ajouter un menu contextuel ( JPopupMenu ) sur les JMenu lors d'un clic droit.
Voici mon menu contextuel :
public class MenuContextuel extends JPopupMenu implements ActionListener{
public MenuContextuel_JMenu() {
JMenuItem menuItem;
menuItem = new JMenuItem("Ouvrir");
menuItem.setActionCommand("open");
menuItem.addActionListener(this);
add(menuItem);
menuItem = new JMenuItem("Ajouter un répertoire");
menuItem.setActionCommand("add");
menuItem.addActionListener(this);
add(menuItem);
menuItem = new JMenuItem("Supprimer");
menuItem.setActionCommand("delete");
menuItem.addActionListener(this);
add(menuItem);
}
public void actionPerformed(ActionEvent e) {
// à faire
}
Je l'appelle sur mon JMenu comme suit :
if (SwingUtilities.isRightMouseButton(e)){
JPopupMenu pop = new MenuContextuel();
pop.show(e.getComponent(),e.getX(), e.getY());
}
Il apparait bien, mais dès que je rentre dans le menu contextuel, le composant JMenu se ferme, comment puis je éviter cela ?
J'ai une idée mais c'est de la bricole.
Et si quand tu rentres dans le menu contextuel tu donnais le focus à ton JMenu ? Cela pourrait le faire rester affichée...
Mais bon je pense qu'il y a 85 % de chances que ça foire :/
--
Pylouq (actuellement jongleur de clavier AZERTY et de clavier QWERTZ)