src/share/classes/javax/swing/JLayer.java

Print this page




 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) {