Java MouseListener - Évènements
-
22-08-2019 - |
Question
Est-ce que tout savoir si les conditions suivantes sont les comportements attendus en termes de ce que s sont tirés MouseEvent
? On semble manquer ou consommé ailleurs.
-
Faites un clic droit sur l'affichage et
JPanel
JPopupMenu
:MousePressed java.awt.event.MouseEvent[MOUSE_PRESSED, (469,347),absolute(2214,490),button=3,modifiers=Meta+Button3, extModifiers=Button3,clickCount=1] MouseReleased java.awt.event.MouseEvent[MOUSE_RELEASED, (469,347),absolute(2214,490),button=3,modifiers=Meta+Button3, extModifiers=Meta,clickCount=1] MouseClicked java.awt.event.MouseEvent[MOUSE_CLICKED, (469,347),absolute(2214,490),button=3,modifiers=Meta+Button3, extModifiers=Meta,clickCount=1]
Jusqu'à présent, si bien tous les 3 de bouton 3 et dans l'ordre correct
-
Avec montrant toujours à gauche
MousePressed
-cliquez quelque part dans le <=> pas dans le <=>:Ce qui est arrivé à l'événement <=>?
MouseReleased java.awt.event.MouseEvent[MOUSE_RELEASED, (452,339),absolute(2197,482),button=1,modifiers=Button1,clickCount=1] MouseClicked java.awt.event.MouseEvent[MOUSE_CLICKED, (452,339),absolute(2197,482),button=1,modifiers=Button1,clickCount=1]
Merci à l'avance.
La solution
Ainsi, l'événement qui provoque le menu contextuel fermer a disparu.
IIRC, exactement comment cela est mis en œuvre a changé de 1,5 à 1,6. En 1.5 il y a un GlassPane, dans 1,6 AWTEventListener
s sont utilisés. Voir pour plus de détails sources BasicPopupMenuUI
. Il semble que si vous pouvez (globalement) arrêter l'événement consommée avec:
UIManager.put("PopupMenu.consumeEventOnClose", false);