Separator qui déclenche un MouseEvent
Bonjour à tous,
J'ai un petit soucis avec un JPopupMenu. Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| JPopupMenu popup = new JPopupMenu();
popup.add(new JMenuItem("Menu 1"));
popup.addSeparator();
popup.add(new JMenuItem("Menu 2"));
popup.add(new JMenuItem("Menu 3"));
popup.setLocation(_mouseRealPoint.x-10, _mouseRealPoint.y-10); //_mouseRealPoint.x et _mouseRealPoint.y correspondent aux positions de la souris
popup.setVisible(true);
popup.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {
((JPopupMenu)e.getSource()).setVisible(false);
}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseClicked(MouseEvent e) {}
});
} |
En gros, un evenement déclenche l'apparition d'un JPopupMenu, grâce aux coordonnées je fais en sorte que la souris se trouve à l'interieur du JPopupMenu, et que celui-ci disparaisse dès que la souris en sort.
Cela fonctionne très bien sans Separator, mais dès que j'ajoute le Separator (3ème ligne de mon code), si ma souris survol/traversse le Separator, cela déclenche l'évenement mouseExited() et mon JPopupMenu disparait.
Quelqu'un peut il m'expliquer pourquoi ? En esperant vous avoir donné suffisemment d'éléments,
Merci d'avance