704 * static AWTEventListener to be shared with all AbstractLayerUIs 705 */ 706 private static class LayerEventController implements AWTEventListener { 707 private ArrayList<Long> layerMaskList = 708 new ArrayList<Long>(); 709 710 private long currentEventMask; 711 712 private static final long ACCEPTED_EVENTS = 713 AWTEvent.COMPONENT_EVENT_MASK | 714 AWTEvent.CONTAINER_EVENT_MASK | 715 AWTEvent.FOCUS_EVENT_MASK | 716 AWTEvent.KEY_EVENT_MASK | 717 AWTEvent.MOUSE_WHEEL_EVENT_MASK | 718 AWTEvent.MOUSE_MOTION_EVENT_MASK | 719 AWTEvent.MOUSE_EVENT_MASK | 720 AWTEvent.INPUT_METHOD_EVENT_MASK | 721 AWTEvent.HIERARCHY_EVENT_MASK | 722 AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK; 723 724 @SuppressWarnings("unchecked") 725 public void eventDispatched(AWTEvent event) { 726 Object source = event.getSource(); 727 if (source instanceof Component) { 728 Component component = (Component) source; 729 while (component != null) { 730 if (component instanceof JLayer) { 731 JLayer l = (JLayer) component; 732 LayerUI ui = l.getUI(); 733 if (ui != null && 734 isEventEnabled(l.getLayerEventMask(), event.getID()) && 735 (!(event instanceof InputEvent) || !((InputEvent)event).isConsumed())) { 736 ui.eventDispatched(event, l); 737 } 738 } 739 component = component.getParent(); 740 } 741 } 742 } 743 744 private void updateAWTEventListener(long oldEventMask, long newEventMask) { 745 if (oldEventMask != 0) { 746 layerMaskList.remove(oldEventMask); 747 } 748 if (newEventMask != 0) { 749 layerMaskList.add(newEventMask); 750 } 751 long combinedMask = 0; 752 for (Long mask : layerMaskList) { | 704 * static AWTEventListener to be shared with all AbstractLayerUIs 705 */ 706 private static class LayerEventController implements AWTEventListener { 707 private ArrayList<Long> layerMaskList = 708 new ArrayList<Long>(); 709 710 private long currentEventMask; 711 712 private static final long ACCEPTED_EVENTS = 713 AWTEvent.COMPONENT_EVENT_MASK | 714 AWTEvent.CONTAINER_EVENT_MASK | 715 AWTEvent.FOCUS_EVENT_MASK | 716 AWTEvent.KEY_EVENT_MASK | 717 AWTEvent.MOUSE_WHEEL_EVENT_MASK | 718 AWTEvent.MOUSE_MOTION_EVENT_MASK | 719 AWTEvent.MOUSE_EVENT_MASK | 720 AWTEvent.INPUT_METHOD_EVENT_MASK | 721 AWTEvent.HIERARCHY_EVENT_MASK | 722 AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK; 723 724 @SuppressWarnings({"unchecked", "rawtypes"}) 725 public void eventDispatched(AWTEvent event) { 726 Object source = event.getSource(); 727 if (source instanceof Component) { 728 Component component = (Component) source; 729 while (component != null) { 730 if (component instanceof JLayer) { 731 JLayer l = (JLayer) component; 732 LayerUI<?> ui = l.getUI(); 733 if (ui != null && 734 isEventEnabled(l.getLayerEventMask(), event.getID()) && 735 (!(event instanceof InputEvent) || !((InputEvent)event).isConsumed())) { 736 ui.eventDispatched(event, l); 737 } 738 } 739 component = component.getParent(); 740 } 741 } 742 } 743 744 private void updateAWTEventListener(long oldEventMask, long newEventMask) { 745 if (oldEventMask != 0) { 746 layerMaskList.remove(oldEventMask); 747 } 748 if (newEventMask != 0) { 749 layerMaskList.add(newEventMask); 750 } 751 long combinedMask = 0; 752 for (Long mask : layerMaskList) { |