Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Find a element that implements the given listener type.
- *
- * @param currentElement
- * Element to begin with searching.
- * @param listenerType
- * Listener type which implements the element to be searched.
- * @return Found element that implements the listener or null.
- */
- private Element findListeningElement(Element currentElement, Class<?> listenerType)
- {
- // try to find a parent that implements the listener
- if (currentElement != null && !listenerType.isAssignableFrom(currentElement.getClass()) && currentElement.getParent() instanceof Element)
- {
- Element parent = (Element) currentElement.getParent();
- while (parent != null && !listenerType.isAssignableFrom(parent.getClass()) && parent.getParent() instanceof Element)
- {
- parent = (Element) parent.getParent();
- }
- currentElement = parent;
- }
- return currentElement;
- }
- @Override
- public void onMouseMotionEvent(MouseMotionEvent evt)
- {
- ....
- }
- else
- {
- this.setCursor(CursorType.POINTER);
- }
- }
- // modified listener code: try to trigger events on the element or its parents
- Element mouseFocusListener = findListeningElement(mouseFocusElement, MouseFocusListener.class);
- Element mouseWheelListener = findListeningElement(mouseFocusElement, MouseWheelListener.class);
- Element mouseMovementListener = findListeningElement(mouseFocusElement, MouseMovementListener.class);
- if (mouseFocusListener != previousMouseFocusElement)
- {
- if (previousMouseFocusElement instanceof MouseFocusListener)
- {
- ((MouseFocusListener) previousMouseFocusElement).onLoseFocus(evt);
- }
- if (mouseFocusListener instanceof MouseFocusListener)
- {
- ((MouseFocusListener) mouseFocusListener).onGetFocus(evt);
- }
- previousMouseFocusElement = mouseFocusListener;
- }
- if (mouseWheelListener != null)
- {
- focusElementIsMovable = mouseWheelListener.getIsMovable();
- if (mouseWheelListener instanceof MouseWheelListener)
- {
- if (evt.getDeltaWheel() > 0)
- {
- ((MouseWheelListener) mouseWheelListener).onMouseWheelDown(evt);
- }
- else if (evt.getDeltaWheel() < 0)
- {
- ((MouseWheelListener) mouseWheelListener).onMouseWheelUp(evt);
- }
- }
- }
- if (mouseMovementListener instanceof MouseMovementListener)
- {
- ((MouseMovementListener) mouseMovementListener).onMouseMove(evt);
- }
- }
- else
- {
- if (eventElement != null)
- {
- ....
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement