< prev index next >

src/java.desktop/share/classes/java/awt/Container.java

Print this page




  38 import java.io.ObjectInputStream;
  39 import java.io.ObjectOutputStream;
  40 import java.io.ObjectStreamField;
  41 import java.io.PrintStream;
  42 import java.io.PrintWriter;
  43 
  44 import java.lang.ref.WeakReference;
  45 import java.security.AccessController;
  46 
  47 import java.util.ArrayList;
  48 import java.util.EventListener;
  49 import java.util.HashSet;
  50 import java.util.Set;
  51 
  52 import javax.accessibility.*;
  53 
  54 import sun.util.logging.PlatformLogger;
  55 
  56 import sun.awt.AppContext;
  57 import sun.awt.AWTAccessor;

  58 import sun.awt.PeerEvent;
  59 import sun.awt.SunToolkit;
  60 
  61 import sun.awt.dnd.SunDropTargetEvent;
  62 
  63 import sun.java2d.pipe.Region;
  64 
  65 import sun.security.action.GetBooleanAction;
  66 
  67 /**
  68  * A generic Abstract Window Toolkit(AWT) container object is a component
  69  * that can contain other AWT components.
  70  * <p>
  71  * Components added to a container are tracked in a list.  The order
  72  * of the list will define the components' front-to-back stacking order
  73  * within the container.  If no index is specified when adding a
  74  * component to a container, it will be added to the end of the list
  75  * (and hence to the bottom of the stacking order).
  76  * <p>
  77  * <b>Note</b>: For details on the focus subsystem, see


4766             }
4767             if ((c == null) || ((Window)c).isModalBlocked()) {
4768                 return;
4769             }
4770 
4771             //
4772             // create an internal 'dragged-over' event indicating
4773             // we are being dragged over from another hw component
4774             //
4775             me = new MouseEvent(nativeContainer,
4776                                LWD_MOUSE_DRAGGED_OVER,
4777                                srcEvent.getWhen(),
4778                                srcEvent.getModifiersEx() | srcEvent.getModifiers(),
4779                                srcEvent.getX(),
4780                                srcEvent.getY(),
4781                                srcEvent.getXOnScreen(),
4782                                srcEvent.getYOnScreen(),
4783                                srcEvent.getClickCount(),
4784                                srcEvent.isPopupTrigger(),
4785                                srcEvent.getButton());



4786             ((AWTEvent)srcEvent).copyPrivateDataInto(me);
4787             // translate coordinates to this native container
4788             final Point ptSrcOrigin = srcComponent.getLocationOnScreen();
4789 
4790             if (AppContext.getAppContext() != nativeContainer.appContext) {
4791                 final MouseEvent mouseEvent = me;
4792                 Runnable r = new Runnable() {
4793                         public void run() {
4794                             if (!nativeContainer.isShowing() ) {
4795                                 return;
4796                             }
4797 
4798                             Point       ptDstOrigin = nativeContainer.getLocationOnScreen();
4799                             mouseEvent.translatePoint(ptSrcOrigin.x - ptDstOrigin.x,
4800                                               ptSrcOrigin.y - ptDstOrigin.y );
4801                             Component targetOver =
4802                                 nativeContainer.getMouseEventTarget(mouseEvent.getX(),
4803                                                                     mouseEvent.getY(),
4804                                                                     Container.INCLUDE_SELF);
4805                             trackMouseEnterExit(targetOver, mouseEvent);


4867                                        e.getYOnScreen(),
4868                                        e.getClickCount(),
4869                                        e.isPopupTrigger(),
4870                                        ((MouseWheelEvent)e).getScrollType(),
4871                                        ((MouseWheelEvent)e).getScrollAmount(),
4872                                        ((MouseWheelEvent)e).getWheelRotation(),
4873                                        ((MouseWheelEvent)e).getPreciseWheelRotation());
4874             }
4875             else {
4876                 retargeted = new MouseEvent(target,
4877                                             id,
4878                                             e.getWhen(),
4879                                             e.getModifiersEx() | e.getModifiers(),
4880                                             x,
4881                                             y,
4882                                             e.getXOnScreen(),
4883                                             e.getYOnScreen(),
4884                                             e.getClickCount(),
4885                                             e.isPopupTrigger(),
4886                                             e.getButton());



4887             }
4888 
4889             ((AWTEvent)e).copyPrivateDataInto(retargeted);
4890 
4891             if (target == nativeContainer) {
4892                 // avoid recursively calling LightweightDispatcher...
4893                 ((Container)target).dispatchEventToSelf(retargeted);
4894             } else {
4895                 assert AppContext.getAppContext() == target.appContext;
4896 
4897                 if (nativeContainer.modalComp != null) {
4898                     if (((Container)nativeContainer.modalComp).isAncestorOf(target)) {
4899                         target.dispatchEvent(retargeted);
4900                     } else {
4901                         e.consume();
4902                     }
4903                 } else {
4904                     target.dispatchEvent(retargeted);
4905                 }
4906             }




  38 import java.io.ObjectInputStream;
  39 import java.io.ObjectOutputStream;
  40 import java.io.ObjectStreamField;
  41 import java.io.PrintStream;
  42 import java.io.PrintWriter;
  43 
  44 import java.lang.ref.WeakReference;
  45 import java.security.AccessController;
  46 
  47 import java.util.ArrayList;
  48 import java.util.EventListener;
  49 import java.util.HashSet;
  50 import java.util.Set;
  51 
  52 import javax.accessibility.*;
  53 
  54 import sun.util.logging.PlatformLogger;
  55 
  56 import sun.awt.AppContext;
  57 import sun.awt.AWTAccessor;
  58 import sun.awt.AWTAccessor.MouseEventAccessor;
  59 import sun.awt.PeerEvent;
  60 import sun.awt.SunToolkit;
  61 
  62 import sun.awt.dnd.SunDropTargetEvent;
  63 
  64 import sun.java2d.pipe.Region;
  65 
  66 import sun.security.action.GetBooleanAction;
  67 
  68 /**
  69  * A generic Abstract Window Toolkit(AWT) container object is a component
  70  * that can contain other AWT components.
  71  * <p>
  72  * Components added to a container are tracked in a list.  The order
  73  * of the list will define the components' front-to-back stacking order
  74  * within the container.  If no index is specified when adding a
  75  * component to a container, it will be added to the end of the list
  76  * (and hence to the bottom of the stacking order).
  77  * <p>
  78  * <b>Note</b>: For details on the focus subsystem, see


4767             }
4768             if ((c == null) || ((Window)c).isModalBlocked()) {
4769                 return;
4770             }
4771 
4772             //
4773             // create an internal 'dragged-over' event indicating
4774             // we are being dragged over from another hw component
4775             //
4776             me = new MouseEvent(nativeContainer,
4777                                LWD_MOUSE_DRAGGED_OVER,
4778                                srcEvent.getWhen(),
4779                                srcEvent.getModifiersEx() | srcEvent.getModifiers(),
4780                                srcEvent.getX(),
4781                                srcEvent.getY(),
4782                                srcEvent.getXOnScreen(),
4783                                srcEvent.getYOnScreen(),
4784                                srcEvent.getClickCount(),
4785                                srcEvent.isPopupTrigger(),
4786                                srcEvent.getButton());
4787             MouseEventAccessor meAccessor = AWTAccessor.getMouseEventAccessor();
4788             meAccessor.setCausedByTouchEvent(me,
4789                 meAccessor.isCausedByTouchEvent(srcEvent));
4790             ((AWTEvent)srcEvent).copyPrivateDataInto(me);
4791             // translate coordinates to this native container
4792             final Point ptSrcOrigin = srcComponent.getLocationOnScreen();
4793 
4794             if (AppContext.getAppContext() != nativeContainer.appContext) {
4795                 final MouseEvent mouseEvent = me;
4796                 Runnable r = new Runnable() {
4797                         public void run() {
4798                             if (!nativeContainer.isShowing() ) {
4799                                 return;
4800                             }
4801 
4802                             Point       ptDstOrigin = nativeContainer.getLocationOnScreen();
4803                             mouseEvent.translatePoint(ptSrcOrigin.x - ptDstOrigin.x,
4804                                               ptSrcOrigin.y - ptDstOrigin.y );
4805                             Component targetOver =
4806                                 nativeContainer.getMouseEventTarget(mouseEvent.getX(),
4807                                                                     mouseEvent.getY(),
4808                                                                     Container.INCLUDE_SELF);
4809                             trackMouseEnterExit(targetOver, mouseEvent);


4871                                        e.getYOnScreen(),
4872                                        e.getClickCount(),
4873                                        e.isPopupTrigger(),
4874                                        ((MouseWheelEvent)e).getScrollType(),
4875                                        ((MouseWheelEvent)e).getScrollAmount(),
4876                                        ((MouseWheelEvent)e).getWheelRotation(),
4877                                        ((MouseWheelEvent)e).getPreciseWheelRotation());
4878             }
4879             else {
4880                 retargeted = new MouseEvent(target,
4881                                             id,
4882                                             e.getWhen(),
4883                                             e.getModifiersEx() | e.getModifiers(),
4884                                             x,
4885                                             y,
4886                                             e.getXOnScreen(),
4887                                             e.getYOnScreen(),
4888                                             e.getClickCount(),
4889                                             e.isPopupTrigger(),
4890                                             e.getButton());
4891                 MouseEventAccessor meAccessor = AWTAccessor.getMouseEventAccessor();
4892                 meAccessor.setCausedByTouchEvent(retargeted,
4893                     meAccessor.isCausedByTouchEvent(e));
4894             }
4895 
4896             ((AWTEvent)e).copyPrivateDataInto(retargeted);
4897 
4898             if (target == nativeContainer) {
4899                 // avoid recursively calling LightweightDispatcher...
4900                 ((Container)target).dispatchEventToSelf(retargeted);
4901             } else {
4902                 assert AppContext.getAppContext() == target.appContext;
4903 
4904                 if (nativeContainer.modalComp != null) {
4905                     if (((Container)nativeContainer.modalComp).isAncestorOf(target)) {
4906                         target.dispatchEvent(retargeted);
4907                     } else {
4908                         e.consume();
4909                     }
4910                 } else {
4911                     target.dispatchEvent(retargeted);
4912                 }
4913             }


< prev index next >