Save This Page
Home » openjdk-7 » java » awt » [javadoc | source]
java.awt
public class: Container [javadoc | source]
java.lang.Object
   java.awt.Component
      java.awt.Container

All Implemented Interfaces:
    MenuContainer, Serializable, ImageObserver

A generic Abstract Window Toolkit(AWT) container object is a component that can contain other AWT components.

Components added to a container are tracked in a list. The order of the list will define the components' front-to-back stacking order within the container. If no index is specified when adding a component to a container, it will be added to the end of the list (and hence to the bottom of the stacking order).

Note: For details on the focus subsystem, see How to Use the Focus Subsystem, a section in The Java Tutorial, and the Focus Specification for more information.

Nested Class Summary:
static interface  Container.EventTargetFilter   
static class  Container.MouseEventTargetFilter   
static class  Container.DropTargetEventTargetFilter   
static final class  Container.WakingRunnable   
protected class  Container.AccessibleAWTContainer  Inner class of Container used to provide default support for accessibility. This class is not meant to be used directly by application developers, but is instead meant only to be subclassed by container developers.

The class used to obtain the accessible role for this object, as well as implementing many of the methods in the AccessibleContainer interface. 

Field Summary
 LayoutManager layoutMgr    Layout manager for this container. 
transient  ContainerListener containerListener     
transient  int listeningChildren     
transient  int listeningBoundsChildren     
transient  int descendantsCount     
transient  Color preserveBackgroundColor     
static final  boolean INCLUDE_SELF    A constant which toggles one of the controllable behaviors of getMouseEventTarget. It is used to specify whether the method can return the Container on which it is originally called in case if none of its children are the current mouse event targets. 
static final  boolean SEARCH_HEAVYWEIGHTS    A constant which toggles one of the controllable behaviors of getMouseEventTarget. It is used to specify whether the method should search only lightweight components. 
transient  Component modalComp     
transient  AppContext modalAppContext     
Fields inherited from java.awt.Component:
peer,  parent,  appContext,  x,  y,  width,  height,  foreground,  background,  font,  peerFont,  cursor,  locale,  bufferStrategy,  ignoreRepaint,  visible,  enabled,  dropTarget,  popups,  focusTraversalKeys,  LOCK,  minSize,  minSizeSet,  prefSize,  prefSizeSet,  maxSize,  maxSizeSet,  componentOrientation,  newEventsOnly,  componentListener,  focusListener,  hierarchyListener,  hierarchyBoundsListener,  keyListener,  mouseListener,  mouseMotionListener,  mouseWheelListener,  inputMethodListener,  windowClosingException,  actionListenerK,  adjustmentListenerK,  componentListenerK,  containerListenerK,  focusListenerK,  itemListenerK,  keyListenerK,  mouseListenerK,  mouseMotionListenerK,  mouseWheelListenerK,  textListenerK,  ownedWindowK,  windowListenerK,  inputMethodListenerK,  hierarchyListenerK,  hierarchyBoundsListenerK,  windowStateListenerK,  windowFocusListenerK,  eventMask,  isInc,  incRate,  TOP_ALIGNMENT,  CENTER_ALIGNMENT,  BOTTOM_ALIGNMENT,  LEFT_ALIGNMENT,  RIGHT_ALIGNMENT,  isPacked,  backgroundEraseDisabled,  eventCache,  accessibleContext
Constructor:
 public Container() 
Method from java.awt.Container Summary:
add,   add,   add,   add,   add,   addContainerListener,   addImpl,   addNotify,   addPropertyChangeListener,   addPropertyChangeListener,   adjustDecendantsOnParent,   adjustDescendants,   adjustListeningChildren,   applyComponentOrientation,   areFocusTraversalKeysSet,   canContainFocusOwner,   checkGD,   clearCurrentFocusCycleRootOnHide,   clearMostRecentFocusOwnerOnHide,   containsFocus,   countComponents,   countHierarchyMembers,   createChildHierarchyEvents,   createHierarchyEvents,   decreaseComponentCount,   deliverEvent,   dispatchEventImpl,   dispatchEventToSelf,   doLayout,   eventEnabled,   findComponentAt,   findComponentAt,   findComponentAt,   findComponentAtImpl,   getAccessibleAt,   getAccessibleChild,   getAccessibleChildrenCount,   getAlignmentX,   getAlignmentY,   getComponent,   getComponentAt,   getComponentAt,   getComponentCount,   getComponentZOrder,   getComponents,   getComponentsSync,   getComponents_NoClientCode,   getContainerListeners,   getDropTargetEventTarget,   getFocusTraversalKeys,   getFocusTraversalPolicy,   getHeavyweightContainer,   getInsets,   getLayout,   getListeners,   getMaximumSize,   getMinimumSize,   getMouseEventTarget,   getMousePosition,   getOpaqueShape,   getPreferredSize,   getTraversalRoot,   hasHeavyweightDescendants,   hasLightweightDescendants,   increaseComponentCount,   initializeFocusTraversalKeys,   insets,   invalidate,   invalidateParent,   invalidateTree,   isAncestorOf,   isFocusCycleRoot,   isFocusCycleRoot,   isFocusTraversalPolicyProvider,   isFocusTraversalPolicySet,   isRecursivelyVisibleUpToHeavyweightContainer,   isSameOrAncestorOf,   isValidateRoot,   layout,   lightweightPaint,   lightweightPrint,   list,   list,   locate,   minimumSize,   mixOnHiding,   mixOnReshaping,   mixOnShowing,   mixOnValidating,   mixOnZOrderChanging,   numListening,   paint,   paintComponents,   paintHeavyweightComponents,   paramString,   postProcessKeyEvent,   postsOldMouseEvents,   preProcessKeyEvent,   preferredSize,   print,   printComponents,   printHeavyweightComponents,   processContainerEvent,   processEvent,   proxyEnableEvents,   recursiveApplyCurrentShape,   recursiveApplyCurrentShape,   recursiveApplyCurrentShape,   recursiveSubtractAndApplyShape,   recursiveSubtractAndApplyShape,   recursiveSubtractAndApplyShape,   remove,   remove,   removeAll,   removeContainerListener,   removeNotify,   setComponentZOrder,   setFocusCycleRoot,   setFocusTraversalKeys,   setFocusTraversalPolicy,   setFocusTraversalPolicyProvider,   setFont,   setLayout,   transferFocusDownCycle,   update,   updateGraphicsData,   validate,   validateTree,   validateUnconditionally
Methods from java.awt.Component:
action,   add,   addComponentListener,   addFocusListener,   addHierarchyBoundsListener,   addHierarchyListener,   addInputMethodListener,   addKeyListener,   addMouseListener,   addMouseMotionListener,   addMouseWheelListener,   addNotify,   addPropertyChangeListener,   addPropertyChangeListener,   adjustListeningChildrenOnParent,   applyComponentOrientation,   applyCompoundShape,   applyCurrentShape,   areBoundsValid,   areFocusTraversalKeysSet,   areInputMethodsEnabled,   autoProcessMouseWheel,   bounds,   canBeFocusOwner,   canBeFocusOwnerRecursively,   checkGD,   checkImage,   checkImage,   checkTreeLock,   checkWindowClosingException,   clearCurrentFocusCycleRootOnHide,   clearMostRecentFocusOwnerOnHide,   coalesceEvents,   constructComponentName,   contains,   contains,   containsFocus,   countHierarchyMembers,   createBufferStrategy,   createBufferStrategy,   createHierarchyEvents,   createImage,   createImage,   createVolatileImage,   createVolatileImage,   deliverEvent,   disable,   disableEvents,   dispatchEvent,   dispatchEventImpl,   dispatchMouseWheelToAncestor,   doLayout,   enable,   enable,   enableEvents,   enableInputMethods,   eventEnabled,   eventTypeEnabled,   findUnderMouseInWindow,   firePropertyChange,   firePropertyChange,   firePropertyChange,   firePropertyChange,   firePropertyChange,   firePropertyChange,   firePropertyChange,   firePropertyChange,   firePropertyChange,   getAccessControlContext,   getAccessibleContext,   getAccessibleIndexInParent,   getAccessibleStateSet,   getAlignmentX,   getAlignmentY,   getBackBuffer,   getBackground,   getBaseline,   getBaselineResizeBehavior,   getBounds,   getBounds,   getBoundsOp,   getBufferStrategy,   getColorModel,   getComponentAt,   getComponentAt,   getComponentListeners,   getComponentOrientation,   getContainer,   getContainingWindow,   getCursor,   getCursor_NoClientCode,   getDropTarget,   getFocusCycleRootAncestor,   getFocusListeners,   getFocusTraversalKeys,   getFocusTraversalKeysEnabled,   getFocusTraversalKeys_NoIDCheck,   getFont,   getFontMetrics,   getFont_NoClientCode,   getForeground,   getGraphics,   getGraphicsConfiguration,   getGraphicsConfiguration_NoClientCode,   getGraphics_NoClientCode,   getHWPeerAboveMe,   getHeight,   getHierarchyBoundsListeners,   getHierarchyListeners,   getIgnoreRepaint,   getInputContext,   getInputMethodListeners,   getInputMethodRequests,   getKeyListeners,   getListeners,   getLocale,   getLocation,   getLocation,   getLocationOnScreen,   getLocationOnScreen_NoTreeLock,   getLocationOnWindow,   getMaximumSize,   getMinimumSize,   getMouseListeners,   getMouseMotionListeners,   getMousePosition,   getMouseWheelListeners,   getName,   getNativeContainer,   getNextFocusCandidate,   getNormalShape,   getObjectLock,   getOpaqueShape,   getParent,   getParent_NoClientCode,   getPeer,   getPreferredSize,   getPropertyChangeListeners,   getPropertyChangeListeners,   getSiblingIndexAbove,   getSiblingIndexBelow,   getSize,   getSize,   getToolkit,   getToolkitImpl,   getTraversalRoot,   getTreeLock,   getWidth,   getX,   getY,   gotFocus,   handleEvent,   hasFocus,   hide,   imageUpdate,   initializeFocusTraversalKeys,   inside,   invalidate,   invalidateIfValid,   invalidateParent,   isAutoFocusTransferOnDisposal,   isBackgroundSet,   isCoalescingEnabled,   isCursorSet,   isDisplayable,   isDoubleBuffered,   isEnabled,   isEnabledImpl,   isFocusCycleRoot,   isFocusOwner,   isFocusTraversable,   isFocusTraversableOverridden,   isFocusable,   isFontSet,   isForegroundSet,   isInstanceOf,   isLightweight,   isMaximumSizeSet,   isMinimumSizeSet,   isMixingNeeded,   isNonOpaqueForMixing,   isOpaque,   isPreferredSizeSet,   isRecursivelyVisible,   isSameOrAncestorOf,   isShowing,   isValid,   isVisible,   isVisible_NoClientCode,   keyDown,   keyUp,   layout,   lightweightPaint,   lightweightPrint,   list,   list,   list,   list,   list,   locate,   location,   lostFocus,   minimumSize,   mixOnHiding,   mixOnReshaping,   mixOnShowing,   mixOnValidating,   mixOnZOrderChanging,   mouseDown,   mouseDrag,   mouseEnter,   mouseExit,   mouseMove,   mouseUp,   move,   nextFocus,   numListening,   paint,   paintAll,   paintHeavyweightComponents,   paramString,   pointRelativeToComponent,   postEvent,   postsOldMouseEvents,   preferredSize,   prepareImage,   prepareImage,   print,   printAll,   printHeavyweightComponents,   processComponentEvent,   processEvent,   processFocusEvent,   processHierarchyBoundsEvent,   processHierarchyEvent,   processInputMethodEvent,   processKeyEvent,   processMouseEvent,   processMouseMotionEvent,   processMouseWheelEvent,   relocateComponent,   remove,   removeComponentListener,   removeFocusListener,   removeHierarchyBoundsListener,   removeHierarchyListener,   removeInputMethodListener,   removeKeyListener,   removeMouseListener,   removeMouseMotionListener,   removeMouseWheelListener,   removeNotify,   removePropertyChangeListener,   removePropertyChangeListener,   repaint,   repaint,   repaint,   repaint,   requestFocus,   requestFocus,   requestFocus,   requestFocus,   requestFocusHelper,   requestFocusHelper,   requestFocusInWindow,   requestFocusInWindow,   requestFocusInWindow,   requestFocusInWindow,   reshape,   resize,   resize,   revalidate,   setAutoFocusTransferOnDisposal,   setBackground,   setBounds,   setBounds,   setBoundsOp,   setComponentOrientation,   setCursor,   setDropTarget,   setEnabled,   setFocusTraversalKeys,   setFocusTraversalKeysEnabled,   setFocusTraversalKeys_NoIDCheck,   setFocusable,   setFont,   setForeground,   setGraphicsConfiguration,   setIgnoreRepaint,   setLocale,   setLocation,   setLocation,   setMaximumSize,   setMinimumSize,   setName,   setPreferredSize,   setRequestFocusController,   setSize,   setSize,   setVisible,   show,   show,   size,   subtractAndApplyShape,   subtractAndApplyShapeBelowMe,   toString,   transferFocus,   transferFocus,   transferFocusBackward,   transferFocusBackward,   transferFocusUpCycle,   update,   updateCursorImmediately,   updateGraphicsData,   updateZOrder,   validate
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from java.awt.Container Detail:
 public Component add(Component comp) 
    Appends the specified component to the end of this container. This is a convenience method for #addImpl .

    This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to display the added component.

 public Component add(String name,
    Component comp) 
    Adds the specified component to this container. This is a convenience method for #addImpl .

    This method is obsolete as of 1.1. Please use the method add(Component, Object) instead.

    This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to display the added component.

 public Component add(Component comp,
    int index) 
    Adds the specified component to this container at the given position. This is a convenience method for #addImpl .

    This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to display the added component.

 public  void add(Component comp,
    Object constraints) 
    Adds the specified component to the end of this container. Also notifies the layout manager to add the component to this container's layout using the specified constraints object. This is a convenience method for #addImpl .

    This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to display the added component.

 public  void add(Component comp,
    Object constraints,
    int index) 
    Adds the specified component to this container with the specified constraints at the specified index. Also notifies the layout manager to add the component to the this container's layout using the specified constraints object. This is a convenience method for #addImpl .

    This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to display the added component.

 public synchronized  void addContainerListener(ContainerListener l) 
    Adds the specified container listener to receive container events from this container. If l is null, no exception is thrown and no action is performed.

    Refer to AWT Threading Issues for details on AWT's threading model.

 protected  void addImpl(Component comp,
    Object constraints,
    int index) 
    Adds the specified component to this container at the specified index. This method also notifies the layout manager to add the component to this container's layout using the specified constraints object via the addLayoutComponent method.

    The constraints are defined by the particular layout manager being used. For example, the BorderLayout class defines five constraints: BorderLayout.NORTH, BorderLayout.SOUTH, BorderLayout.EAST, BorderLayout.WEST, and BorderLayout.CENTER.

    The GridBagLayout class requires a GridBagConstraints object. Failure to pass the correct type of constraints object results in an IllegalArgumentException.

    If the current layout manager implements {@code LayoutManager2}, then LayoutManager2#addLayoutComponent(Component,Object) is invoked on it. If the current layout manager does not implement {@code LayoutManager2}, and constraints is a {@code String}, then LayoutManager#addLayoutComponent(String,Component) is invoked on it.

    If the component is not an ancestor of this container and has a non-null parent, it is removed from its current parent before it is added to this container.

    This is the method to override if a program needs to track every add request to a container as all other add methods defer to this one. An overriding method should usually include a call to the superclass's version of the method:

    super.addImpl(comp, constraints, index)

    This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to display the added component.

 public  void addNotify() 
    Makes this Container displayable by connecting it to a native screen resource. Making a container displayable will cause all of its children to be made displayable. This method is called internally by the toolkit and should not be called directly by programs.
 public  void addPropertyChangeListener(PropertyChangeListener listener) 
    Adds a PropertyChangeListener to the listener list. The listener is registered for all bound properties of this class, including the following:
    • this Container's font ("font")
    • this Container's background color ("background")
    • this Container's foreground color ("foreground")
    • this Container's focusability ("focusable")
    • this Container's focus traversal keys enabled state ("focusTraversalKeysEnabled")
    • this Container's Set of FORWARD_TRAVERSAL_KEYS ("forwardFocusTraversalKeys")
    • this Container's Set of BACKWARD_TRAVERSAL_KEYS ("backwardFocusTraversalKeys")
    • this Container's Set of UP_CYCLE_TRAVERSAL_KEYS ("upCycleFocusTraversalKeys")
    • this Container's Set of DOWN_CYCLE_TRAVERSAL_KEYS ("downCycleFocusTraversalKeys")
    • this Container's focus traversal policy ("focusTraversalPolicy")
    • this Container's focus-cycle-root state ("focusCycleRoot")
    Note that if this Container is inheriting a bound property, then no event will be fired in response to a change in the inherited property.

    If listener is null, no exception is thrown and no action is performed.

 public  void addPropertyChangeListener(String propertyName,
    PropertyChangeListener listener) 
    Adds a PropertyChangeListener to the listener list for a specific property. The specified property may be user-defined, or one of the following defaults:
    • this Container's font ("font")
    • this Container's background color ("background")
    • this Container's foreground color ("foreground")
    • this Container's focusability ("focusable")
    • this Container's focus traversal keys enabled state ("focusTraversalKeysEnabled")
    • this Container's Set of FORWARD_TRAVERSAL_KEYS ("forwardFocusTraversalKeys")
    • this Container's Set of BACKWARD_TRAVERSAL_KEYS ("backwardFocusTraversalKeys")
    • this Container's Set of UP_CYCLE_TRAVERSAL_KEYS ("upCycleFocusTraversalKeys")
    • this Container's Set of DOWN_CYCLE_TRAVERSAL_KEYS ("downCycleFocusTraversalKeys")
    • this Container's focus traversal policy ("focusTraversalPolicy")
    • this Container's focus-cycle-root state ("focusCycleRoot")
    • this Container's focus-traversal-policy-provider state("focusTraversalPolicyProvider")
    • this Container's focus-traversal-policy-provider state("focusTraversalPolicyProvider")
    Note that if this Container is inheriting a bound property, then no event will be fired in response to a change in the inherited property.

    If listener is null, no exception is thrown and no action is performed.

  void adjustDecendantsOnParent(int num) 
  void adjustDescendants(int num) 
  void adjustListeningChildren(long mask,
    int num) 
 public  void applyComponentOrientation(ComponentOrientation o) 
    Sets the ComponentOrientation property of this container and all components contained within it.

    This method changes layout-related information, and therefore, invalidates the component hierarchy.

 public boolean areFocusTraversalKeysSet(int id) 
    Returns whether the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Container. If this method returns false, this Container is inheriting the Set from an ancestor, or from the current KeyboardFocusManager.
 boolean canContainFocusOwner(Component focusOwnerCandidate) 
    Checks whether this container can contain component which is focus owner. Verifies that container is enable and showing, and if it is focus cycle root its FTP allows component to be focus owner
  void checkGD(String stringID) 
    Checks that all Components that this Container contains are on the same GraphicsDevice as this Container. If not, throws an IllegalArgumentException.
  void clearCurrentFocusCycleRootOnHide() 
  void clearMostRecentFocusOwnerOnHide() 
 final boolean containsFocus() 
 public int countComponents() 
Deprecated! As - of JDK version 1.1, replaced by getComponentCount().

 int countHierarchyMembers() 
 final  void createChildHierarchyEvents(int id,
    long changeFlags,
    boolean enabledOnToolkit) 
 final int createHierarchyEvents(int id,
    Component changed,
    Container changedParent,
    long changeFlags,
    boolean enabledOnToolkit) 
 final  void decreaseComponentCount(Component c) 
 public  void deliverEvent(Event e) 
Deprecated! As - of JDK version 1.1, replaced by dispatchEvent(AWTEvent e)

  void dispatchEventImpl(AWTEvent e) 
  void dispatchEventToSelf(AWTEvent e) 
 public  void doLayout() 
    Causes this container to lay out its components. Most programs should not call this method directly, but should invoke the validate method instead.
 boolean eventEnabled(AWTEvent e) 
 public Component findComponentAt(Point p) 
    Locates the visible child component that contains the specified point. The top-most child component is returned in the case where there is overlap in the components. If the containing child component is a Container, this method will continue searching for the deepest nested child component. Components which are not visible are ignored during the search.

    The findComponentAt method is different from getComponentAt in that getComponentAt only searches the Container's immediate children; if the containing component is a Container, findComponentAt will search that child to find a nested component.

 public Component findComponentAt(int x,
    int y) 
    Locates the visible child component that contains the specified position. The top-most child component is returned in the case where there is overlap in the components. If the containing child component is a Container, this method will continue searching for the deepest nested child component. Components which are not visible are ignored during the search.

    The findComponentAt method is different from getComponentAt in that getComponentAt only searches the Container's immediate children; if the containing component is a Container, findComponentAt will search that child to find a nested component.

 final Component findComponentAt(int x,
    int y,
    boolean ignoreEnabled) 
    Private version of findComponentAt which has a controllable behavior. Setting 'ignoreEnabled' to 'false' bypasses disabled Components during the search. This behavior is used by the lightweight cursor support in sun.awt.GlobalCursorManager. The cursor code calls this function directly via native code. The addition of this feature is temporary, pending the adoption of new, public API which exports this feature.
 final Component findComponentAtImpl(int x,
    int y,
    boolean ignoreEnabled) 
 Accessible getAccessibleAt(Point p) 
    Returns the Accessible child contained at the local coordinate Point, if one exists. Otherwise returns null.
 Accessible getAccessibleChild(int i) 
    Returns the nth Accessible child of the object.
 int getAccessibleChildrenCount() 
    Returns the number of accessible children in the object. If all of the children of this object implement Accessible, then this method should return the number of children of this object.
 public float getAlignmentX() 
    Returns the alignment along the x axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.
 public float getAlignmentY() 
    Returns the alignment along the y axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.
 public Component getComponent(int n) 
    Gets the nth component in this container.

    Note: This method should be called under AWT tree lock.

 public Component getComponentAt(Point p) 
    Gets the component that contains the specified point.
 public Component getComponentAt(int x,
    int y) 
    Locates the component that contains the x,y position. The top-most child component is returned in the case where there is overlap in the components. This is determined by finding the component closest to the index 0 that claims to contain the given point via Component.contains(), except that Components which have native peers take precedence over those which do not (i.e., lightweight Components).
 public int getComponentCount() 
    Gets the number of components in this panel.

    Note: This method should be called under AWT tree lock.

 public int getComponentZOrder(Component comp) 
    Returns the z-order index of the component inside the container. The higher a component is in the z-order hierarchy, the lower its index. The component with the lowest z-order index is painted last, above all other child components.
 public Component[] getComponents() 
    Gets all the components in this container.

    Note: This method should be called under AWT tree lock.

 Component[] getComponentsSync() 
 final Component[] getComponents_NoClientCode() 
 public synchronized ContainerListener[] getContainerListeners() 
    Returns an array of all the container listeners registered on this container.
 Component getDropTargetEventTarget(int x,
    int y,
    boolean includeSelf) 
    Fetches the top-most (deepest) component to receive SunDropTargetEvents.
 public Set<AWTKeyStroke> getFocusTraversalKeys(int id) 
    Returns the Set of focus traversal keys for a given traversal operation for this Container. (See setFocusTraversalKeys for a full description of each key.)

    If a Set of traversal keys has not been explicitly defined for this Container, then this Container's parent's Set is returned. If no Set has been explicitly defined for any of this Container's ancestors, then the current KeyboardFocusManager's default Set is returned.

 public FocusTraversalPolicy getFocusTraversalPolicy() 
    Returns the focus traversal policy that will manage keyboard traversal of this Container's children, or null if this Container is not a focus cycle root. If no traversal policy has been explicitly set for this Container, then this Container's focus-cycle-root ancestor's policy is returned.
 Container getHeavyweightContainer() 
    Returns closest heavyweight component to this container. If this container is heavyweight returns this.
 public Insets getInsets() 
    Determines the insets of this container, which indicate the size of the container's border.

    A Frame object, for example, has a top inset that corresponds to the height of the frame's title bar.

 public LayoutManager getLayout() 
    Gets the layout manager for this container.
 public T[] getListeners(Class<T> listenerType) 
    Returns an array of all the objects currently registered as FooListeners upon this Container. FooListeners are registered using the addFooListener method.

    You can specify the listenerType argument with a class literal, such as FooListener.class. For example, you can query a Container c for its container listeners with the following code:

    ContainerListener[] cls = (ContainerListener[])(c.getListeners(ContainerListener.class));
    If no such listeners exist, this method returns an empty array.
 public Dimension getMaximumSize() 
    Returns the maximum size of this container. If the maximum size has not been set explicitly by Component#setMaximumSize(Dimension) and the LayoutManager installed on this {@code Container} is an instance of LayoutManager2 , then LayoutManager2#maximumLayoutSize(Container) is used to calculate the maximum size.

    Note: some implementations may cache the value returned from the {@code LayoutManager2}. Implementations that cache need not invoke {@code maximumLayoutSize} on the {@code LayoutManager2} every time this method is invoked, rather the {@code LayoutManager2} will only be queried after the {@code Container} becomes invalid.

 public Dimension getMinimumSize() 
    Returns the minimum size of this container. If the minimum size has not been set explicitly by Component#setMinimumSize(Dimension) and this {@code Container} has a {@code non-null} LayoutManager , then LayoutManager#minimumLayoutSize(Container) is used to calculate the minimum size.

    Note: some implementations may cache the value returned from the {@code LayoutManager}. Implementations that cache need not invoke {@code minimumLayoutSize} on the {@code LayoutManager} every time this method is invoked, rather the {@code LayoutManager} will only be queried after the {@code Container} becomes invalid.

 Component getMouseEventTarget(int x,
    int y,
    boolean includeSelf) 
    Fetchs the top-most (deepest) lightweight component that is interested in receiving mouse events.
 public Point getMousePosition(boolean allowChildren) throws HeadlessException 
    Returns the position of the mouse pointer in this Container's coordinate space if the Container is under the mouse pointer, otherwise returns null. This method is similar to Component#getMousePosition() with the exception that it can take the Container's children into account. If allowChildren is false, this method will return a non-null value only if the mouse pointer is above the Container directly, not above the part obscured by children. If allowChildren is true, this method returns a non-null value if the mouse pointer is above Container or any of its descendants.
 final Region getOpaqueShape() 
 public Dimension getPreferredSize() 
    Returns the preferred size of this container. If the preferred size has not been set explicitly by Component#setPreferredSize(Dimension) and this {@code Container} has a {@code non-null} LayoutManager , then LayoutManager#preferredLayoutSize(Container) is used to calculate the preferred size.

    Note: some implementations may cache the value returned from the {@code LayoutManager}. Implementations that cache need not invoke {@code preferredLayoutSize} on the {@code LayoutManager} every time this method is invoked, rather the {@code LayoutManager} will only be queried after the {@code Container} becomes invalid.

 final Container getTraversalRoot() 
 final boolean hasHeavyweightDescendants() 
    Checks whether or not this container has heavyweight children. Note: Should be called while holding tree lock
 final boolean hasLightweightDescendants() 
    Checks whether or not this container has lightweight children. Note: Should be called while holding tree lock
 final  void increaseComponentCount(Component c) 
  void initializeFocusTraversalKeys() 
 public Insets insets() 
Deprecated! As - of JDK version 1.1, replaced by getInsets().

 public  void invalidate() 
    Invalidates the container.

    If the {@code LayoutManager} installed on this container is an instance of the {@code LayoutManager2} interface, then the LayoutManager2#invalidateLayout(Container) method is invoked on it supplying this {@code Container} as the argument.

    Afterwards this method marks this container invalid, and invalidates its ancestors. See the Component#invalidate method for more details.

  void invalidateParent() 
    Invalidates the parent of the container unless the container is a validate root.
  void invalidateTree() 
    Recursively descends the container tree and invalidates all contained components.
 public boolean isAncestorOf(Component c) 
    Checks if the component is contained in the component hierarchy of this container.
 public boolean isFocusCycleRoot() 
    Returns whether this Container is the root of a focus traversal cycle. Once focus enters a traversal cycle, typically it cannot leave it via focus traversal unless one of the up- or down-cycle keys is pressed. Normal traversal is limited to this Container, and all of this Container's descendants that are not descendants of inferior focus cycle roots. Note that a FocusTraversalPolicy may bend these restrictions, however. For example, ContainerOrderFocusTraversalPolicy supports implicit down-cycle traversal.
 public boolean isFocusCycleRoot(Container container) 
    Returns whether the specified Container is the focus cycle root of this Container's focus traversal cycle. Each focus traversal cycle has only a single focus cycle root and each Container which is not a focus cycle root belongs to only a single focus traversal cycle. Containers which are focus cycle roots belong to two cycles: one rooted at the Container itself, and one rooted at the Container's nearest focus-cycle-root ancestor. This method will return true for both such Containers in this case.
 public final boolean isFocusTraversalPolicyProvider() 
    Returns whether this container provides focus traversal policy. If this property is set to true then when keyboard focus manager searches container hierarchy for focus traversal policy and encounters this container before any other container with this property as true or focus cycle roots then its focus traversal policy will be used instead of focus cycle root's policy.
 public boolean isFocusTraversalPolicySet() 
    Returns whether the focus traversal policy has been explicitly set for this Container. If this method returns false, this Container will inherit its focus traversal policy from an ancestor.
 final boolean isRecursivelyVisibleUpToHeavyweightContainer() 
    Checks if the container and its direct lightweight containers are visible. Consider the heavyweight container hides or shows the HW descendants automatically. Therefore we care of LW containers' visibility only. This method MUST be invoked under the TreeLock.
 boolean isSameOrAncestorOf(Component comp,
    boolean allowChildren) 
 public boolean isValidateRoot() 
    Indicates if this container is a validate root.

    Layout-related changes, such as bounds of the validate root descendants, do not affect the layout of the validate root parent. This peculiarity enables the {@code invalidate()} method to stop invalidating the component hierarchy when the method encounters a validate root. However, to preserve backward compatibility this new optimized behavior is enabled only when the {@code java.awt.smartInvalidate} system property value is set to {@code true}.

    If a component hierarchy contains validate roots and the new optimized {@code invalidate()} behavior is enabled, the {@code validate()} method must be invoked on the validate root of a previously invalidated component to restore the validity of the hierarchy later. Otherwise, calling the {@code validate()} method on the top-level container (such as a {@code Frame} object) should be used to restore the validity of the component hierarchy.

    The {@code Window} class and the {@code Applet} class are the validate roots in AWT. Swing introduces more validate roots.

 public  void layout() 
Deprecated! As - of JDK version 1.1, replaced by doLayout().

  void lightweightPaint(Graphics g) 
    Simulates the peer callbacks into java.awt for printing of lightweight Containers.
  void lightweightPrint(Graphics g) 
    Simulates the peer callbacks into java.awt for printing of lightweight Containers.
 public  void list(PrintStream out,
    int indent) 
    Prints a listing of this container to the specified output stream. The listing starts at the specified indentation.

    The immediate children of the container are printed with an indentation of indent+1. The children of those children are printed at indent+2 and so on.

 public  void list(PrintWriter out,
    int indent) 
    Prints out a list, starting at the specified indentation, to the specified print writer.

    The immediate children of the container are printed with an indentation of indent+1. The children of those children are printed at indent+2 and so on.

 public Component locate(int x,
    int y) 
Deprecated! As - of JDK version 1.1, replaced by getComponentAt(int, int).

 public Dimension minimumSize() 
Deprecated! As - of JDK version 1.1, replaced by getMinimumSize().

  void mixOnHiding(boolean isLightweight) 
  void mixOnReshaping() 
  void mixOnShowing() 
  void mixOnValidating() 
  void mixOnZOrderChanging(int oldZorder,
    int newZorder) 
 int numListening(long mask) 
 public  void paint(Graphics g) 
    Paints the container. This forwards the paint to any lightweight components that are children of this container. If this method is reimplemented, super.paint(g) should be called so that lightweight components are properly rendered. If a child component is entirely clipped by the current clipping setting in g, paint() will not be forwarded to that child.
 public  void paintComponents(Graphics g) 
    Paints each of the components in this container.
  void paintHeavyweightComponents(Graphics g) 
    Prints all the heavyweight subcomponents.
 protected String paramString() 
    Returns a string representing the state of this Container. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be null.
  void postProcessKeyEvent(KeyEvent e) 
 boolean postsOldMouseEvents() 
  void preProcessKeyEvent(KeyEvent e) 
 public Dimension preferredSize() 
Deprecated! As - of JDK version 1.1, replaced by getPreferredSize().

 public  void print(Graphics g) 
    Prints the container. This forwards the print to any lightweight components that are children of this container. If this method is reimplemented, super.print(g) should be called so that lightweight components are properly rendered. If a child component is entirely clipped by the current clipping setting in g, print() will not be forwarded to that child.
 public  void printComponents(Graphics g) 
    Prints each of the components in this container.
  void printHeavyweightComponents(Graphics g) 
    Prints all the heavyweight subcomponents.
 protected  void processContainerEvent(ContainerEvent e) 
    Processes container events occurring on this container by dispatching them to any registered ContainerListener objects. NOTE: This method will not be called unless container events are enabled for this component; this happens when one of the following occurs:
    • A ContainerListener object is registered via addContainerListener
    • Container events are enabled via enableEvents

    Note that if the event parameter is null the behavior is unspecified and may result in an exception.

 protected  void processEvent(AWTEvent e) 
    Processes events on this container. If the event is a ContainerEvent, it invokes the processContainerEvent method, else it invokes its superclass's processEvent.

    Note that if the event parameter is null the behavior is unspecified and may result in an exception.

  void proxyEnableEvents(long events) 
    This is called by lightweight components that want the containing windowed parent to enable some kind of events on their behalf. This is needed for events that are normally only dispatched to windows to be accepted so that they can be forwarded downward to the lightweight component that has enabled them.
 final  void recursiveApplyCurrentShape() 
 final  void recursiveApplyCurrentShape(int fromZorder) 
 final  void recursiveApplyCurrentShape(int fromZorder,
    int toZorder) 
 final  void recursiveSubtractAndApplyShape(Region shape) 
 final  void recursiveSubtractAndApplyShape(Region shape,
    int fromZorder) 
 final  void recursiveSubtractAndApplyShape(Region shape,
    int fromZorder,
    int toZorder) 
 public  void remove(int index) 
    Removes the component, specified by index, from this container. This method also notifies the layout manager to remove the component from this container's layout via the removeLayoutComponent method.

    This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to reflect the changes.

 public  void remove(Component comp) 
    Removes the specified component from this container. This method also notifies the layout manager to remove the component from this container's layout via the removeLayoutComponent method.

    This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to reflect the changes.

 public  void removeAll() 
    Removes all the components from this container. This method also notifies the layout manager to remove the components from this container's layout via the removeLayoutComponent method.

    This method changes layout-related information, and therefore, invalidates the component hierarchy. If the container has already been displayed, the hierarchy must be validated thereafter in order to reflect the changes.

 public synchronized  void removeContainerListener(ContainerListener l) 
    Removes the specified container listener so it no longer receives container events from this container. If l is null, no exception is thrown and no action is performed.

    Refer to AWT Threading Issues for details on AWT's threading model.

 public  void removeNotify() 
    Makes this Container undisplayable by removing its connection to its native screen resource. Making a container undisplayable will cause all of its children to be made undisplayable. This method is called by the toolkit internally and should not be called directly by programs.
 public  void setComponentZOrder(Component comp,
    int index) 
    Moves the specified component to the specified z-order index in the container. The z-order determines the order that components are painted; the component with the highest z-order paints first and the component with the lowest z-order paints last. Where components overlap, the component with the lower z-order paints over the component with the higher z-order.

    If the component is a child of some other container, it is removed from that container before being added to this container. The important difference between this method and java.awt.Container.add(Component, int) is that this method doesn't call removeNotify on the component while removing it from its previous container unless necessary and when allowed by the underlying native windowing system. This way, if the component has the keyboard focus, it maintains the focus when moved to the new position.

    This property is guaranteed to apply only to lightweight non-Container components.

    This method changes layout-related information, and therefore, invalidates the component hierarchy.

    Note: Not all platforms support changing the z-order of heavyweight components from one container into another without the call to removeNotify. There is no way to detect whether a platform supports this, so developers shouldn't make any assumptions.

 public  void setFocusCycleRoot(boolean focusCycleRoot) 
    Sets whether this Container is the root of a focus traversal cycle. Once focus enters a traversal cycle, typically it cannot leave it via focus traversal unless one of the up- or down-cycle keys is pressed. Normal traversal is limited to this Container, and all of this Container's descendants that are not descendants of inferior focus cycle roots. Note that a FocusTraversalPolicy may bend these restrictions, however. For example, ContainerOrderFocusTraversalPolicy supports implicit down-cycle traversal.

    The alternative way to specify the traversal order of this Container's children is to make this Container a focus traversal policy provider.

 public  void setFocusTraversalKeys(int id,
    Set<AWTKeyStroke> keystrokes) 
    Sets the focus traversal keys for a given traversal operation for this Container.

    The default values for a Container's focus traversal keys are implementation-dependent. Sun recommends that all implementations for a particular native platform use the same default values. The recommendations for Windows and Unix are listed below. These recommendations are used in the Sun AWT implementations.
    Identifier Meaning Default
    KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS Normal forward keyboard traversal TAB on KEY_PRESSED, CTRL-TAB on KEY_PRESSED
    KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS Normal reverse keyboard traversal SHIFT-TAB on KEY_PRESSED, CTRL-SHIFT-TAB on KEY_PRESSED
    KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS Go up one focus traversal cycle none
    KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS Go down one focus traversal cycle none
    To disable a traversal key, use an empty Set; Collections.EMPTY_SET is recommended.

    Using the AWTKeyStroke API, client code can specify on which of two specific KeyEvents, KEY_PRESSED or KEY_RELEASED, the focus traversal operation will occur. Regardless of which KeyEvent is specified, however, all KeyEvents related to the focus traversal key, including the associated KEY_TYPED event, will be consumed, and will not be dispatched to any Container. It is a runtime error to specify a KEY_TYPED event as mapping to a focus traversal operation, or to map the same event to multiple default focus traversal operations.

    If a value of null is specified for the Set, this Container inherits the Set from its parent. If all ancestors of this Container have null specified for the Set, then the current KeyboardFocusManager's default Set is used.

 public  void setFocusTraversalPolicy(FocusTraversalPolicy policy) 
    Sets the focus traversal policy that will manage keyboard traversal of this Container's children, if this Container is a focus cycle root. If the argument is null, this Container inherits its policy from its focus- cycle-root ancestor. If the argument is non-null, this policy will be inherited by all focus-cycle-root children that have no keyboard- traversal policy of their own (as will, recursively, their focus-cycle- root children).

    If this Container is not a focus cycle root, the policy will be remembered, but will not be used or inherited by this or any other Containers until this Container is made a focus cycle root.

 public final  void setFocusTraversalPolicyProvider(boolean provider) 
    Sets whether this container will be used to provide focus traversal policy. Container with this property as true will be used to acquire focus traversal policy instead of closest focus cycle root ancestor.
 public  void setFont(Font f) 
    Sets the font of this container.

    This method changes layout-related information, and therefore, invalidates the component hierarchy.

 public  void setLayout(LayoutManager mgr) 
    Sets the layout manager for this container.

    This method changes layout-related information, and therefore, invalidates the component hierarchy.

 public  void transferFocusDownCycle() 
    Transfers the focus down one focus traversal cycle. If this Container is a focus cycle root, then the focus owner is set to this Container's default Component to focus, and the current focus cycle root is set to this Container. If this Container is not a focus cycle root, then no focus traversal operation occurs.
 public  void update(Graphics g) 
    Updates the container. This forwards the update to any lightweight components that are children of this container. If this method is reimplemented, super.update(g) should be called so that lightweight components are properly rendered. If a child component is entirely clipped by the current clipping setting in g, update() will not be forwarded to that child.
 boolean updateGraphicsData(GraphicsConfiguration gc) 
 public  void validate() 
    Validates this container and all of its subcomponents.

    Validating a container means laying out its subcomponents. Layout-related changes, such as setting the bounds of a component, or adding a component to the container, invalidate the container automatically. Note that the ancestors of the container may be invalidated also (see Component#invalidate for details.) Therefore, to restore the validity of the hierarchy, the {@code validate()} method should be invoked on the top-most invalid container of the hierarchy.

    Validating the container may be a quite time-consuming operation. For performance reasons a developer may postpone the validation of the hierarchy till a set of layout-related operations completes, e.g. after adding all the children to the container.

    If this {@code Container} is not valid, this method invokes the {@code validateTree} method and marks this {@code Container} as valid. Otherwise, no action is performed.

 protected  void validateTree() 
    Recursively descends the container tree and recomputes the layout for any subtrees marked as needing it (those marked as invalid). Synchronization should be provided by the method that calls this one: validate.
 final  void validateUnconditionally() 
    Unconditionally validate the component hierarchy.