356 } else if (e.getID() == MouseEvent.MOUSE_PRESSED) {
357 isCapturingMouse = true;
358 } else if (e.getID() == MouseEvent.MOUSE_RELEASED) {
359 if (!isCapturingMouse) {
360 return;
361 }
362 isCapturingMouse = primaryBtnDown || middleBtnDown || secondaryBtnDown;
363 } else if (e.getID() == MouseEvent.MOUSE_CLICKED) {
364 // Don't send click events to FX, as they are generated in Scene
365 return;
366 }
367 // A workaround until JDK-8065131 is fixed.
368 boolean popupTrigger = false;
369 if (e.getID() == MouseEvent.MOUSE_PRESSED || e.getID() == MouseEvent.MOUSE_RELEASED) {
370 popupTrigger = e.isPopupTrigger();
371 }
372
373 if(e.getID() == MouseEvent.MOUSE_WHEEL) {
374 scenePeer.scrollEvent(AbstractEvents.MOUSEEVENT_VERTICAL_WHEEL,
375 0, -SwingEvents.getWheelRotation(e),
376 e.getX(), e.getY(), e.getXOnScreen(), e.getYOnScreen(),
377 (extModifiers & MouseEvent.SHIFT_DOWN_MASK) != 0,
378 (extModifiers & MouseEvent.CTRL_DOWN_MASK) != 0,
379 (extModifiers & MouseEvent.ALT_DOWN_MASK) != 0,
380 (extModifiers & MouseEvent.META_DOWN_MASK) != 0);
381 } else {
382 scenePeer.mouseEvent(
383 SwingEvents.mouseIDToEmbedMouseType(e.getID()),
384 SwingEvents.mouseButtonToEmbedMouseButton(e.getButton(), extModifiers),
385 primaryBtnDown, middleBtnDown, secondaryBtnDown,
386 e.getX(), e.getY(), e.getXOnScreen(), e.getYOnScreen(),
387 (extModifiers & MouseEvent.SHIFT_DOWN_MASK) != 0,
388 (extModifiers & MouseEvent.CTRL_DOWN_MASK) != 0,
389 (extModifiers & MouseEvent.ALT_DOWN_MASK) != 0,
390 (extModifiers & MouseEvent.META_DOWN_MASK) != 0,
391 popupTrigger);
392 }
393 if (e.isPopupTrigger()) {
394 scenePeer.menuEvent(e.getX(), e.getY(), e.getXOnScreen(), e.getYOnScreen(), false);
395 }
396 }
397
398 /**
399 * Overrides the {@link java.awt.Component#processMouseEvent(MouseEvent)}
400 * method to dispatch the mouse event to the JavaFX scene attached to this
|
356 } else if (e.getID() == MouseEvent.MOUSE_PRESSED) {
357 isCapturingMouse = true;
358 } else if (e.getID() == MouseEvent.MOUSE_RELEASED) {
359 if (!isCapturingMouse) {
360 return;
361 }
362 isCapturingMouse = primaryBtnDown || middleBtnDown || secondaryBtnDown;
363 } else if (e.getID() == MouseEvent.MOUSE_CLICKED) {
364 // Don't send click events to FX, as they are generated in Scene
365 return;
366 }
367 // A workaround until JDK-8065131 is fixed.
368 boolean popupTrigger = false;
369 if (e.getID() == MouseEvent.MOUSE_PRESSED || e.getID() == MouseEvent.MOUSE_RELEASED) {
370 popupTrigger = e.isPopupTrigger();
371 }
372
373 if(e.getID() == MouseEvent.MOUSE_WHEEL) {
374 scenePeer.scrollEvent(AbstractEvents.MOUSEEVENT_VERTICAL_WHEEL,
375 0, -SwingEvents.getWheelRotation(e),
376 0, 0, // total scroll
377 40, 40, // multiplier
378 e.getX(), e.getY(),
379 e.getXOnScreen(), e.getYOnScreen(),
380 (extModifiers & MouseEvent.SHIFT_DOWN_MASK) != 0,
381 (extModifiers & MouseEvent.CTRL_DOWN_MASK) != 0,
382 (extModifiers & MouseEvent.ALT_DOWN_MASK) != 0,
383 (extModifiers & MouseEvent.META_DOWN_MASK) != 0, false);
384 } else {
385 scenePeer.mouseEvent(
386 SwingEvents.mouseIDToEmbedMouseType(e.getID()),
387 SwingEvents.mouseButtonToEmbedMouseButton(e.getButton(), extModifiers),
388 primaryBtnDown, middleBtnDown, secondaryBtnDown,
389 e.getX(), e.getY(), e.getXOnScreen(), e.getYOnScreen(),
390 (extModifiers & MouseEvent.SHIFT_DOWN_MASK) != 0,
391 (extModifiers & MouseEvent.CTRL_DOWN_MASK) != 0,
392 (extModifiers & MouseEvent.ALT_DOWN_MASK) != 0,
393 (extModifiers & MouseEvent.META_DOWN_MASK) != 0,
394 popupTrigger);
395 }
396 if (e.isPopupTrigger()) {
397 scenePeer.menuEvent(e.getX(), e.getY(), e.getXOnScreen(), e.getYOnScreen(), false);
398 }
399 }
400
401 /**
402 * Overrides the {@link java.awt.Component#processMouseEvent(MouseEvent)}
403 * method to dispatch the mouse event to the JavaFX scene attached to this
|