Java MouseListener - Eventos
-
22-08-2019 - |
Pregunta
¿Alguno sabe si el siguiente es el comportamiento esperado en términos de lo MouseEvent
s son despedidos?Parece ser que faltan o que se consume en otros lugares.
Haga clic derecho en
JPanel
y la pantallaJPopupMenu
: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]
Tan lejos y tan bien todos los 3 de botón 3 y en el orden correcto
Con
JPopupMenu
sigue mostrando izquierda haga clic en algún lugar en elJPanel
no en elJPopupMenu
:Lo que sucedió a la
MousePressed
el evento?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]
Gracias de Antemano.
Solución
Así que el evento que causa el menú emergente para cerrar ha desaparecido.
IIRC, exactamente cómo se implementa esto cambió de 1,5 a 1,6. En 1,5 hay un GlassPane, en se utilizan 1,6 AWTEventListener
s. Ver BasicPopupMenuUI
fuentes de datos. Parece como si se puede (a nivel mundial) detener el evento que se consume con:
UIManager.put("PopupMenu.consumeEventOnClose", false);