modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java
Print this page
@@ -351,20 +351,25 @@
isCapturingMouse = primaryBtnDown || middleBtnDown || secondaryBtnDown;
} else if (e.getID() == MouseEvent.MOUSE_CLICKED) {
// Don't send click events to FX, as they are generated in Scene
return;
}
+ // A workaround until JDK-8065131 is fixed.
+ boolean popupTrigger = false;
+ if (e.getID() == MouseEvent.MOUSE_PRESSED || e.getID() == MouseEvent.MOUSE_RELEASED) {
+ popupTrigger = e.isPopupTrigger();
+ }
scenePeer.mouseEvent(
SwingEvents.mouseIDToEmbedMouseType(e.getID()),
SwingEvents.mouseButtonToEmbedMouseButton(e.getButton(), extModifiers),
primaryBtnDown, middleBtnDown, secondaryBtnDown,
e.getX(), e.getY(), e.getXOnScreen(), e.getYOnScreen(),
(extModifiers & MouseEvent.SHIFT_DOWN_MASK) != 0,
(extModifiers & MouseEvent.CTRL_DOWN_MASK) != 0,
(extModifiers & MouseEvent.ALT_DOWN_MASK) != 0,
(extModifiers & MouseEvent.META_DOWN_MASK) != 0,
- SwingEvents.getWheelRotation(e), e.isPopupTrigger());
+ SwingEvents.getWheelRotation(e), popupTrigger);
if (e.isPopupTrigger()) {
scenePeer.menuEvent(e.getX(), e.getY(), e.getXOnScreen(), e.getYOnScreen(), false);
}
}