private MouseEvent copyButtonsFromModifiers(final MouseEvent rawEvent, final int eventType) { if (rawEvent.getButton() != MouseEvent.NOBUTTON) { return rawEvent; } int newButton = 0; if (hasButtonModifier(rawEvent, InputEvent.BUTTON1_MASK)) { newButton = MouseEvent.BUTTON1; } else if (hasButtonModifier(rawEvent, InputEvent.BUTTON2_MASK)) { newButton = MouseEvent.BUTTON2; } else if (hasButtonModifier(rawEvent, InputEvent.BUTTON3_MASK)) { newButton = MouseEvent.BUTTON3; } return buildModifiedMouseEvent(rawEvent, eventType, newButton); }
/** {@inheritDoc} */ public void mouseEntered(final MouseEvent e) { MouseEvent simulated = null; if (isAnyButtonDown(e)) { simulated = buildRetypedMouseEvent(e, MouseEvent.MOUSE_DRAGGED); } else { simulated = buildRetypedMouseEvent(e, MouseEvent.MOUSE_MOVED); } sendInputEventToInputManager(e, MouseEvent.MOUSE_ENTERED); sendInputEventToInputManager(simulated, simulated.getID()); }
boolean shouldSendEvent = false; final MouseEvent event = copyButtonsFromModifiers(rawEvent, MouseEvent.MOUSE_RELEASED); sendRetypedMouseEventToInputManager(event, MouseEvent.MOUSE_PRESSED);
boolean shouldSendEvent = false; final MouseEvent event = copyButtonsFromModifiers(rawEvent, MouseEvent.MOUSE_PRESSED); sendRetypedMouseEventToInputManager(event, MouseEvent.MOUSE_RELEASED);
/** * This method installs mouse and key listeners on the canvas that forward * those events to piccolo. */ protected void installInputSources() { if (mouseListener == null) { mouseListener = new MouseEventInputSource(); addMouseListener(mouseListener); } if (mouseMotionListener == null) { mouseMotionListener = new MouseMotionInputSourceListener(); addMouseMotionListener(mouseMotionListener); } if (mouseWheelListener == null) { mouseWheelListener = new MouseWheelInputSourceListener(); addMouseWheelListener(mouseWheelListener); } if (keyEventPostProcessor == null) { keyEventPostProcessor = new KeyEventInputSourceListener(); KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventPostProcessor(keyEventPostProcessor); } }
public MouseEvent buildRetypedMouseEvent(final MouseEvent e, final int newType) { return buildModifiedMouseEvent(e, newType, e.getButton()); }
private void sendRetypedMouseEventToInputManager(final MouseEvent e, final int newType) { final MouseEvent retypedEvent = buildRetypedMouseEvent(e, newType); sendInputEventToInputManager(retypedEvent, newType); } }
/** {@inheritDoc} */ public void mouseExited(final MouseEvent e) { MouseEvent simulated = null; if (isAnyButtonDown(e)) { simulated = buildRetypedMouseEvent(e, MouseEvent.MOUSE_DRAGGED); } else { simulated = buildRetypedMouseEvent(e, MouseEvent.MOUSE_MOVED); } sendInputEventToInputManager(simulated, simulated.getID()); sendInputEventToInputManager(e, MouseEvent.MOUSE_EXITED); }