Tengo una aplicación en la que puede hacer clic con el botón derecho del mouse presionar y arrastrar (así como también presionar y arrastrar hacia la izquierda para diferentes operaciones). Sin embargo, al ejecutar esto en Linux, parece que los menús emergentes se desencadenan con un mousePressed y no un mouseReleased. Esto se traduce en que cada vez que presiono el botón derecho del mouse para realizar un arrastre, los menús emergentes se desencadenan (a diferencia de las ventanas, donde se libera el mouse).Activador emergente de Java en Linux
¿Alguna idea sobre cómo solucionar esto?
gracias.
EDIT: código de contabilización
Código de menú emergente
// this is called from mousePressed and mouseReleased
if (e.isPopupTrigger() && !e.isConsumed()) {
// show the popup menu
}
Este código es lo que se llama en el botón derecho del ratón pulse/arrastre (esto es tercero código de fiesta, pero que es de código abierto, así que puede cambiar según sea necesario)
// this is called on all mouse events
if (buttonAction.mouseButton != 0)
{
// handle the event
}
Yo soy, parece que se activa PopupTrigger en mousePressed in linux. –
Correcto, entonces si estoy usando una biblioteca de terceros que realiza alguna acción no emergente cuando se presiona y se arrastra el mouse derecho, ¿significa esto que el menú emergente siempre se mostrará cuando intente hacer esa otra acción? –
Acabo de probar 'GraphPanel' en Windows, y veo lo que quieres decir. ¿La API de terceros expone su modelo de selección? – trashgod