< prev index next >

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

Print this page




  23  * questions.
  24  */
  25 package java.awt;
  26 
  27 import java.awt.dnd.DropTarget;
  28 
  29 import java.awt.event.*;
  30 
  31 import java.awt.peer.ContainerPeer;
  32 import java.awt.peer.ComponentPeer;
  33 import java.awt.peer.LightweightPeer;
  34 
  35 import java.beans.PropertyChangeListener;
  36 
  37 import java.io.IOException;
  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;


3832         }
3833 
3834         /**
3835          * Number of PropertyChangeListener objects registered. It's used
3836          * to add/remove ContainerListener to track target Container's state.
3837          */
3838         private transient volatile int propertyListenersCount = 0;
3839 
3840         /**
3841          * The handler to fire {@code PropertyChange}
3842          * when children are added or removed
3843          */
3844         protected ContainerListener accessibleContainerHandler = null;
3845 
3846         /**
3847          * Fire {@code PropertyChange} listener, if one is registered,
3848          * when children are added or removed.
3849          * @since 1.3
3850          */
3851         protected class AccessibleContainerHandler
3852             implements ContainerListener {


3853             public void componentAdded(ContainerEvent e) {
3854                 Component c = e.getChild();
3855                 if (c != null && c instanceof Accessible) {
3856                     AccessibleAWTContainer.this.firePropertyChange(
3857                         AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
3858                         null, ((Accessible) c).getAccessibleContext());
3859                 }
3860             }
3861             public void componentRemoved(ContainerEvent e) {
3862                 Component c = e.getChild();
3863                 if (c != null && c instanceof Accessible) {
3864                     AccessibleAWTContainer.this.firePropertyChange(
3865                         AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
3866                         ((Accessible) c).getAccessibleContext(), null);
3867                 }
3868             }
3869         }
3870 
3871         /**
3872          * Adds a PropertyChangeListener to the listener list.




  23  * questions.
  24  */
  25 package java.awt;
  26 
  27 import java.awt.dnd.DropTarget;
  28 
  29 import java.awt.event.*;
  30 
  31 import java.awt.peer.ContainerPeer;
  32 import java.awt.peer.ComponentPeer;
  33 import java.awt.peer.LightweightPeer;
  34 
  35 import java.beans.PropertyChangeListener;
  36 
  37 import java.io.IOException;
  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 import java.io.Serializable;
  44 
  45 import java.lang.ref.WeakReference;
  46 import java.security.AccessController;
  47 
  48 import java.util.ArrayList;
  49 import java.util.EventListener;
  50 import java.util.HashSet;
  51 import java.util.Set;
  52 
  53 import javax.accessibility.*;
  54 
  55 import sun.util.logging.PlatformLogger;
  56 
  57 import sun.awt.AppContext;
  58 import sun.awt.AWTAccessor;
  59 import sun.awt.AWTAccessor.MouseEventAccessor;
  60 import sun.awt.PeerEvent;
  61 import sun.awt.SunToolkit;
  62 
  63 import sun.awt.dnd.SunDropTargetEvent;


3833         }
3834 
3835         /**
3836          * Number of PropertyChangeListener objects registered. It's used
3837          * to add/remove ContainerListener to track target Container's state.
3838          */
3839         private transient volatile int propertyListenersCount = 0;
3840 
3841         /**
3842          * The handler to fire {@code PropertyChange}
3843          * when children are added or removed
3844          */
3845         protected ContainerListener accessibleContainerHandler = null;
3846 
3847         /**
3848          * Fire {@code PropertyChange} listener, if one is registered,
3849          * when children are added or removed.
3850          * @since 1.3
3851          */
3852         protected class AccessibleContainerHandler
3853             implements ContainerListener, Serializable {
3854             private static final long serialVersionUID = -480855353991814677L;
3855 
3856             public void componentAdded(ContainerEvent e) {
3857                 Component c = e.getChild();
3858                 if (c != null && c instanceof Accessible) {
3859                     AccessibleAWTContainer.this.firePropertyChange(
3860                         AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
3861                         null, ((Accessible) c).getAccessibleContext());
3862                 }
3863             }
3864             public void componentRemoved(ContainerEvent e) {
3865                 Component c = e.getChild();
3866                 if (c != null && c instanceof Accessible) {
3867                     AccessibleAWTContainer.this.firePropertyChange(
3868                         AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
3869                         ((Accessible) c).getAccessibleContext(), null);
3870                 }
3871             }
3872         }
3873 
3874         /**
3875          * Adds a PropertyChangeListener to the listener list.


< prev index next >