Триггер всплывающего окна Java в Linux

У меня есть приложение, в котором вы можете нажимать и перетаскивать правую кнопку мыши (а также нажимать и перетаскивать левую кнопку для различных операций). Однако при запуске этого в Linux кажется, что всплывающие меню запускаются с помощью mousePressed, а не mouseReleased. Это приводит к тому, что каждый раз, когда я нажимаю правую кнопку мыши, чтобы выполнить перетаскивание, запускаются всплывающие меню (в отличие от окон, где это свойство mouseReleased).

Есть мысли о том, как обойти это?

спасибо.

РЕДАКТИРОВАТЬ: Код сообщения

Код для всплывающего меню

// this is called from mousePressed and mouseReleased
if (e.isPopupTrigger() && !e.isConsumed()) {
    // show the popup menu
}

Этот код вызывается при нажатии / перетаскивании правой кнопкой мыши (это сторонний код, но это открытый исходный код, поэтому я могу изменить его по мере необходимости)

// this is called on all mouse events
if (buttonAction.mouseButton != 0)
{
    // handle the event
}
10
задан Jeff Storey 20 April 2011 в 22:09
поделиться