Advertisement
Guest User

Untitled

a guest
Apr 3rd, 2014
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1. /**
  2. * Find a element that implements the given listener type.
  3. *
  4. * @param currentElement
  5. * Element to begin with searching.
  6. * @param listenerType
  7. * Listener type which implements the element to be searched.
  8. * @return Found element that implements the listener or null.
  9. */
  10. private Element findListeningElement(Element currentElement, Class<?> listenerType)
  11. {
  12. // try to find a parent that implements the listener
  13. if (currentElement != null && !listenerType.isAssignableFrom(currentElement.getClass()) && currentElement.getParent() instanceof Element)
  14. {
  15. Element parent = (Element) currentElement.getParent();
  16.  
  17. while (parent != null && !listenerType.isAssignableFrom(parent.getClass()) && parent.getParent() instanceof Element)
  18. {
  19. parent = (Element) parent.getParent();
  20. }
  21.  
  22. currentElement = parent;
  23. }
  24.  
  25. return currentElement;
  26. }
  27.  
  28.  
  29. @Override
  30. public void onMouseMotionEvent(MouseMotionEvent evt)
  31. {
  32. ....
  33. }
  34. else
  35. {
  36. this.setCursor(CursorType.POINTER);
  37. }
  38. }
  39.  
  40. // modified listener code: try to trigger events on the element or its parents
  41. Element mouseFocusListener = findListeningElement(mouseFocusElement, MouseFocusListener.class);
  42. Element mouseWheelListener = findListeningElement(mouseFocusElement, MouseWheelListener.class);
  43. Element mouseMovementListener = findListeningElement(mouseFocusElement, MouseMovementListener.class);
  44.  
  45. if (mouseFocusListener != previousMouseFocusElement)
  46. {
  47. if (previousMouseFocusElement instanceof MouseFocusListener)
  48. {
  49. ((MouseFocusListener) previousMouseFocusElement).onLoseFocus(evt);
  50. }
  51. if (mouseFocusListener instanceof MouseFocusListener)
  52. {
  53. ((MouseFocusListener) mouseFocusListener).onGetFocus(evt);
  54. }
  55.  
  56. previousMouseFocusElement = mouseFocusListener;
  57. }
  58. if (mouseWheelListener != null)
  59. {
  60. focusElementIsMovable = mouseWheelListener.getIsMovable();
  61.  
  62. if (mouseWheelListener instanceof MouseWheelListener)
  63. {
  64. if (evt.getDeltaWheel() > 0)
  65. {
  66. ((MouseWheelListener) mouseWheelListener).onMouseWheelDown(evt);
  67. }
  68. else if (evt.getDeltaWheel() < 0)
  69. {
  70. ((MouseWheelListener) mouseWheelListener).onMouseWheelUp(evt);
  71. }
  72. }
  73. }
  74. if (mouseMovementListener instanceof MouseMovementListener)
  75. {
  76. ((MouseMovementListener) mouseMovementListener).onMouseMove(evt);
  77. }
  78.  
  79. }
  80. else
  81. {
  82. if (eventElement != null)
  83. {
  84. ....
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement