Java MouseListener - Eventi
-
22-08-2019 - |
Domanda
Lo qualsiasi sapere se quanto segue è il comportamenti attesi in termini di ciò che MouseEvent
s sono licenziati? Uno sembra mancare o consumate altrove.
-
Fai clic destro su
JPanel
e la visualizzazioneJPopupMenu
: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]
Fin qui tutto bene tutti e 3 dal pulsante 3 e in modo corretto
-
Con
MousePressed
mostrando ancora sinistro del mouse da qualche parte nel <=> non nel <=>:Quello che è successo alla manifestazione <=>?
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]
Grazie in anticipo.
Soluzione
Quindi, l'evento che fa sì che il menu a comparsa per chiudere è scomparso.
IIRC, esattamente come questo è implementato cambiato 1,5-1,6. In 1.5 c'è un glasspane, sono utilizzati in 1,6 AWTEventListener
s. Vedere BasicPopupMenuUI
fonti per i dettagli. Sembra come se è possibile (a livello mondiale) di fermare la manifestazione essere consumati con:
UIManager.put("PopupMenu.consumeEventOnClose", false);