java.awt
Class Container

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable
Direct Known Subclasses:
BasicSplitPaneDivider, CellRendererPane, ComponentView.Invalidator, DefaultTreeCellEditor.EditorContainer, JComponent, Panel, ScrollPane, Window

public class Container
extends Component

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

Since:
JDK1.0
Author:
Arthur van Hoff, Sami Shaio
See Also:
add(java.awt.Component, int), getComponent(int), LayoutManager, Serialized Form

Nested Class Summary
protected  class Container.AccessibleAWTContainer
          Inner class of Container used to provide default support for accessibility.
(package private) static class Container.DropTargetEventTargetFilter
           
(package private) static interface Container.EventTargetFilter
           
(package private) static class Container.MouseEventTargetFilter
           
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.AWTTreeLock, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
(package private)  Component[] component
          The components in this container.
(package private)  ContainerListener containerListener
           
private  int containerSerializedDataVersion
          Container Serial Data Version.
private static sun.awt.DebugHelper dbg
           
(package private)  int descendantsCount
           
private  LightweightDispatcher dispatcher
          Event router for lightweight components.
private  boolean focusCycleRoot
          Indicates whether this Component is the root of a focus traversal cycle.
private  FocusTraversalPolicy focusTraversalPolicy
          The focus traversal policy that will manage keyboard traversal of this Container's children, if this Container is a focus cycle root.
(package private) static boolean INCLUDE_SELF
          A constant which toggles one of the controllable behaviors of getMouseEventTarget.
(package private)  LayoutManager layoutMgr
          Layout manager for this container.
(package private)  int listeningBoundsChildren
           
(package private)  int listeningChildren
           
private  Dimension maxSize
           
(package private)  int ncomponents
          The number of components in this container.
private  boolean printing
           
private  Set printingThreads
           
(package private) static boolean SEARCH_HEAVYWEIGHTS
          A constant which toggles one of the controllable behaviors of getMouseEventTarget.
private static long serialVersionUID
          JDK 1.1 serialVersionUID
 
Fields inherited from class java.awt.Component
accessibleContext, actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, bufferStrategy, CENTER_ALIGNMENT, componentListener, componentListenerK, componentOrientation, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, focusTraversalKeys, font, foreground, graphicsConfig, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, ignoreRepaint, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, mouseWheelListener, mouseWheelListenerK, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowFocusListenerK, windowListenerK, windowStateListenerK, x, y
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Container()
          Constructs a new Container.
 
Method Summary
 Component add(Component comp)
          Appends the specified component to the end of this container.
 Component add(Component comp, int index)
          Adds the specified component to this container at the given position.
 void add(Component comp, Object constraints)
          Adds the specified component to the end of this container.
 void add(Component comp, Object constraints, int index)
          Adds the specified component to this container with the specified constraints at the specified index.
 Component add(String name, Component comp)
          Adds the specified component to this container.
 void addContainerListener(ContainerListener l)
          Adds the specified container listener to receive container events from this container.
protected  void addImpl(Component comp, Object constraints, int index)
          Adds the specified component to this container at the specified index.
 void addNotify()
          Makes this Container displayable by connecting it to a native screen resource.
 void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
          Adds a PropertyChangeListener to the listener list.
 void addPropertyChangeListener(String propertyName, java.beans.PropertyChangeListener listener)
          Adds a PropertyChangeListener to the listener list for a specific property.
(package private)  void adjustDecendantsOnParent(int num)
           
(package private)  void adjustDescendants(int num)
           
(package private)  void adjustListeningChildren(long mask, int num)
           
 void applyComponentOrientation(ComponentOrientation o)
          Sets the ComponentOrientation property of this container and all components contained within it.
 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.
(package private)  void checkGD(String stringID)
          Checks that all Components that this Container contains are on the same GraphicsDevice as this Container.
(package private)  void clearCurrentFocusCycleRootOnHide()
           
(package private)  void clearMostRecentFocusOwnerOnHide()
           
(package private)  boolean containsFocus()
           
 int countComponents()
          Deprecated. As of JDK version 1.1, replaced by getComponentCount().
(package private)  int countHierarchyMembers()
           
(package private)  void createChildHierarchyEvents(int id, long changeFlags, boolean enabledOnToolkit)
           
(package private)  int createHierarchyEvents(int id, Component changed, Container changedParent, long changeFlags, boolean enabledOnToolkit)
           
 void deliverEvent(Event e)
          Deprecated. As of JDK version 1.1, replaced by dispatchEvent(AWTEvent e)
(package private)  void dispatchEventImpl(AWTEvent e)
           
(package private)  void dispatchEventToSelf(AWTEvent e)
           
 void doLayout()
          Causes this container to lay out its components.
(package private)  boolean eventEnabled(AWTEvent e)
           
 Component findComponentAt(int x, int y)
          Locates the visible child component that contains the specified position.
(package private)  Component findComponentAt(int x, int y, boolean ignoreEnabled)
          Private version of findComponentAt which has a controllable behavior.
 Component findComponentAt(Point p)
          Locates the visible child component that contains the specified point.
private  Container findTraversalRoot()
           
(package private)  javax.accessibility.Accessible getAccessibleAt(Point p)
          Returns the Accessible child contained at the local coordinate Point, if one exists.
(package private)  javax.accessibility.Accessible getAccessibleChild(int i)
          Returns the nth Accessible child of the object.
(package private)  int getAccessibleChildrenCount()
          Returns the number of accessible children in the object.
 float getAlignmentX()
          Returns the alignment along the x axis.
 float getAlignmentY()
          Returns the alignment along the y axis.
 Component getComponent(int n)
          Gets the nth component in this container.
 Component getComponentAt(int x, int y)
          Locates the component that contains the x,y position.
 Component getComponentAt(Point p)
          Gets the component that contains the specified point.
 int getComponentCount()
          Gets the number of components in this panel.
(package private)  Component[] getComponents_NoClientCode()
           
 Component[] getComponents()
          Gets all the components in this container.
 ContainerListener[] getContainerListeners()
          Returns an array of all the container listeners registered on this container.
(package private)  Component getDropTargetEventTarget(int x, int y, boolean includeSelf)
          Fetches the top-most (deepest) component to receive SunDropTargetEvents.
 Set getFocusTraversalKeys(int id)
          Returns the Set of focus traversal keys for a given traversal operation for this Container.
 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.
 Insets getInsets()
          Determines the insets of this container, which indicate the size of the container's border.
 LayoutManager getLayout()
          Gets the layout manager for this container.
 EventListener[] getListeners(Class listenerType)
          Returns an array of all the objects currently registered as FooListeners upon this Container.
 Dimension getMaximumSize()
          Returns the maximum size of this container.
 Dimension getMinimumSize()
          Returns the minimum size of this container.
(package private)  Component getMouseEventTarget(int x, int y, boolean includeSelf)
          Fetchs the top-most (deepest) lightweight component that is interested in receiving mouse events.
private  Component getMouseEventTarget(int x, int y, boolean includeSelf, Container.EventTargetFilter filter, boolean searchHeavyweights)
          A private version of getMouseEventTarget which has two additional controllable behaviors.
private  Component getMouseEventTargetImpl(int x, int y, boolean includeSelf, Container.EventTargetFilter filter, boolean searchHeavyweightChildren, boolean searchHeavyweightDescendants)
          A private version of getMouseEventTarget which has three additional controllable behaviors.
 Dimension getPreferredSize()
          Returns the preferred size of this container.
(package private)  void initializeFocusTraversalKeys()
           
private static void initIDs()
          Initialize JNI field and method IDs for fields that may be called from C.
 Insets insets()
          Deprecated. As of JDK version 1.1, replaced by getInsets().
 void invalidate()
          Invalidates the container.
(package private)  void invalidateTree()
          Recursively descends the container tree and invalidates all contained components.
 boolean isAncestorOf(Component c)
          Checks if the component is contained in the component hierarchy of this container.
 boolean isFocusCycleRoot()
          Returns whether this Container is the root of a focus traversal cycle.
 boolean isFocusCycleRoot(Container container)
          Returns whether the specified Container is the focus cycle root of this Container's focus traversal cycle.
 boolean isFocusTraversalPolicySet()
          Returns whether the focus traversal policy has been explicitly set for this Container.
(package private)  boolean isParentOf(Component comp)
          Check if this component is the child of this container or its children.
 void layout()
          Deprecated. As of JDK version 1.1, replaced by doLayout().
(package private)  void lightweightPaint(Graphics g)
          Simulates the peer callbacks into java.awt for printing of lightweight Containers.
(package private)  void lightweightPrint(Graphics g)
          Simulates the peer callbacks into java.awt for printing of lightweight Containers.
 void list(PrintStream out, int indent)
          Prints a listing of this container to the specified output stream.
 void list(PrintWriter out, int indent)
          Prints out a list, starting at the specified indention, to the specified print writer.
 Component locate(int x, int y)
          Deprecated. As of JDK version 1.1, replaced by getComponentAt(int, int).
 Dimension minimumSize()
          Deprecated. As of JDK version 1.1, replaced by getMinimumSize().
(package private)  boolean nextFocusHelper()
           
(package private)  int numListening(long mask)
           
 void paint(Graphics g)
          Paints the container.
 void paintComponents(Graphics g)
          Paints each of the components in this container.
(package private)  void paintHeavyweightComponents(Graphics g)
          Prints all the heavyweight subcomponents.
protected  String paramString()
          Returns a string representing the state of this Container.
(package private)  void postProcessKeyEvent(KeyEvent e)
           
(package private)  boolean postsOldMouseEvents()
           
 Dimension preferredSize()
          Deprecated. As of JDK version 1.1, replaced by getPreferredSize().
(package private)  void preProcessKeyEvent(KeyEvent e)
           
 void print(Graphics g)
          Prints the container.
 void printComponents(Graphics g)
          Prints each of the components in this container.
(package private)  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.
protected  void processEvent(AWTEvent e)
          Processes events on this container.
(package private)  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.
private  void readObject(ObjectInputStream s)
          Deserializes this Container from the specified ObjectInputStream.
 void remove(Component comp)
          Removes the specified component from this container.
 void remove(int index)
          Removes the component, specified by index, from this container.
 void removeAll()
          Removes all the components from this container.
 void removeContainerListener(ContainerListener l)
          Removes the specified container listener so it no longer receives container events from this container.
 void removeNotify()
          Makes this Container undisplayable by removing its connection to its native screen resource.
 void setFocusCycleRoot(boolean focusCycleRoot)
          Sets whether this Container is the root of a focus traversal cycle.
 void setFocusTraversalKeys(int id, Set keystrokes)
          Sets the focus traversal keys for a given traversal operation for this Container.
 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.
 void setFont(Font f)
          Sets the font of this container.
 void setLayout(LayoutManager mgr)
          Sets the layout manager for this container.
(package private)  void setZOrder(Component comp, int index)
           
 void transferFocusBackward()
          Transfers the focus to the previous component, as though this Component were the focus owner.
 void transferFocusDownCycle()
          Transfers the focus down one focus traversal cycle.
 void update(Graphics g)
          Updates the container.
 void validate()
          Validates this container and all of its subcomponents.
protected  void validateTree()
          Recursively descends the container tree and recomputes the layout for any subtrees marked as needing it (those marked as invalid).
private  void writeObject(ObjectOutputStream s)
          Serializes this Container to the specified ObjectOutputStream.
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, adjustListeningChildrenOnParent, areInputMethodsEnabled, autoProcessMouseWheel, autoTransferFocus, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, constructComponentName, contains, contains, createBufferStrategy, createBufferStrategy, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, dispatchMouseWheelToAncestor, enable, enable, enableEvents, enableInputMethods, eventTypeEnabled, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAccessibleIndexInParent, getAccessibleStateSet, getBackBuffer, getBackground, getBounds, getBounds, getBufferStrategy, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys_NoIDCheck, getFocusTraversalKeysEnabled, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getToolkitImpl, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusable, isFocusOwner, isFocusTraversable, isFocusTraversableOverridden, isFontSet, isForegroundSet, isLightweight, isOpaque, isRecursivelyVisible, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusHelper, requestFocusInWindow, requestFocusInWindow, resetGC, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys_NoIDCheck, setFocusTraversalKeysEnabled, setForeground, setGCFromPeer, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle, updateCursorImmediately
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ncomponents

int ncomponents
The number of components in this container. This value can be null.

See Also:
getComponent(int), getComponents(), getComponentCount()

component

Component[] component
The components in this container.

See Also:
add(java.awt.Component), getComponents()

layoutMgr

LayoutManager layoutMgr
Layout manager for this container.

See Also:
doLayout(), setLayout(java.awt.LayoutManager), getLayout()

dispatcher

private LightweightDispatcher dispatcher
Event router for lightweight components. If this container is native, this dispatcher takes care of forwarding and retargeting the events to lightweight components contained (if any).


maxSize

private Dimension maxSize

focusTraversalPolicy

private transient FocusTraversalPolicy focusTraversalPolicy
The focus traversal policy that will manage keyboard traversal of this Container's children, if this Container is a focus cycle root. If the value is null, this Container inherits its policy from its focus-cycle- root ancestor. If all such ancestors of this Container have null policies, then the current KeyboardFocusManager's default policy is used. If the value 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 value 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.

Since:
1.4
See Also:
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy), getFocusTraversalPolicy()

focusCycleRoot

private boolean focusCycleRoot
Indicates whether this Component 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.

Since:
1.4
See Also:
setFocusCycleRoot(boolean), isFocusCycleRoot(java.awt.Container)

printingThreads

private transient Set printingThreads

printing

private transient boolean printing

containerListener

transient ContainerListener containerListener

listeningChildren

transient int listeningChildren

listeningBoundsChildren

transient int listeningBoundsChildren

descendantsCount

transient int descendantsCount

serialVersionUID

private static final long serialVersionUID
JDK 1.1 serialVersionUID

See Also:
Constant Field Values

dbg

private static final sun.awt.DebugHelper dbg

INCLUDE_SELF

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.

See Also:
#getMouseEventTarget(int, int, boolean, boolean, boolean), Constant Field Values

SEARCH_HEAVYWEIGHTS

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.

See Also:
#getMouseEventTarget(int, int, boolean, boolean, boolean), Constant Field Values

containerSerializedDataVersion

private int containerSerializedDataVersion
Container Serial Data Version.

Constructor Detail

Container

public Container()
Constructs a new Container. Containers can be extended directly, but are lightweight in this case and must be contained by a parent somewhere higher up in the component tree that is native. (such as Frame for example).

Method Detail

initIDs

private static void initIDs()
Initialize JNI field and method IDs for fields that may be called from C.


initializeFocusTraversalKeys

void initializeFocusTraversalKeys()
Overrides:
initializeFocusTraversalKeys in class Component

getComponentCount

public int getComponentCount()
Gets the number of components in this panel.

Returns:
the number of components in this panel.
Since:
JDK1.1
See Also:
getComponent(int)

countComponents

public int countComponents()
Deprecated. As of JDK version 1.1, replaced by getComponentCount().


getComponent

public Component getComponent(int n)
Gets the nth component in this container.

Parameters:
n - the index of the component to get.
Returns:
the nth component in this container.
Throws:
ArrayIndexOutOfBoundsException - if the nth value does not exist.

getComponents

public Component[] getComponents()
Gets all the components in this container.

Returns:
an array of all the components in this container.

getComponents_NoClientCode

final Component[] getComponents_NoClientCode()

getInsets

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.

Returns:
the insets of this container.
Since:
JDK1.1
See Also:
Insets, LayoutManager

insets

public Insets insets()
Deprecated. As of JDK version 1.1, replaced by getInsets().


add

public Component add(Component comp)
Appends the specified component to the end of this container. This is a convenience method for addImpl(java.awt.Component, java.lang.Object, int).

Note: If a component has been added to a container that has been displayed, validate must be called on that container to display the new component. If multiple components are being added, you can improve efficiency by calling validate only once, after all the components have been added.

Parameters:
comp - the component to be added
Returns:
the component argument
See Also:
addImpl(java.awt.Component, java.lang.Object, int), validate(), JComponent.revalidate()

add

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

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

See Also:
add(Component, Object)

add

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(java.awt.Component, java.lang.Object, int).

Note: If a component has been added to a container that has been displayed, validate must be called on that container to display the new component. If multiple components are being added, you can improve efficiency by calling validate only once, after all the components have been added.

Parameters:
comp - the component to be added
index - the position at which to insert the component, or -1 to append the component to the end
Returns:
the component comp
See Also:
addImpl(java.awt.Component, java.lang.Object, int), remove(int), validate(), JComponent.revalidate()

setZOrder

void setZOrder(Component comp,
               int index)

add

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(java.awt.Component, java.lang.Object, int).

Note: If a component has been added to a container that has been displayed, validate must be called on that container to display the new component. If multiple components are being added, you can improve efficiency by calling validate only once, after all the components have been added.

Parameters:
comp - the component to be added
constraints - an object expressing layout contraints for this component
Since:
JDK1.1
See Also:
addImpl(java.awt.Component, java.lang.Object, int), validate(), JComponent.revalidate(), LayoutManager

add

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(java.awt.Component, java.lang.Object, int).

Note: If a component has been added to a container that has been displayed, validate must be called on that container to display the new component. If multiple components are being added, you can improve efficiency by calling validate only once, after all the components have been added.

Parameters:
comp - the component to be added
constraints - an object expressing layout contraints for this
index - the position in the container's list at which to insert the component; -1 means insert at the end component
See Also:
addImpl(java.awt.Component, java.lang.Object, int), validate(), JComponent.revalidate(), remove(int), LayoutManager

addImpl

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.

Note that if the component already exists in this container or a child of this container, it is removed from that container before being 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)

Parameters:
comp - the component to be added
constraints - an object expressing layout constraints for this component
index - the position in the container's list at which to insert the component, where -1 means append to the end
Throws:
IllegalArgumentException - if index is invalid
IllegalArgumentException - if adding the container's parent to itself
IllegalArgumentException - if adding a window to a container
Since:
JDK1.1
See Also:
add(Component), add(Component, int), add(Component, java.lang.Object), LayoutManager, LayoutManager2

checkGD

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.

Overrides:
checkGD in class Component

remove

public void remove(int index)
Removes the component, specified by index, from this container.

Parameters:
index - the index of the component to be removed.
Since:
JDK1.1
See Also:
add(java.awt.Component)

remove

public void remove(Component comp)
Removes the specified component from this container.

Parameters:
comp - the component to be removed
See Also:
add(java.awt.Component)

removeAll

public void removeAll()
Removes all the components from this container.

See Also:
add(java.awt.Component), remove(int)

numListening

int numListening(long mask)
Overrides:
numListening in class Component

adjustListeningChildren

void adjustListeningChildren(long mask,
                             int num)

adjustDescendants

void adjustDescendants(int num)

adjustDecendantsOnParent

void adjustDecendantsOnParent(int num)

countHierarchyMembers

int countHierarchyMembers()
Overrides:
countHierarchyMembers in class Component

createHierarchyEvents

int createHierarchyEvents(int id,
                          Component changed,
                          Container changedParent,
                          long changeFlags,
                          boolean enabledOnToolkit)
Overrides:
createHierarchyEvents in class Component

createChildHierarchyEvents

void createChildHierarchyEvents(int id,
                                long changeFlags,
                                boolean enabledOnToolkit)
Overrides:
createChildHierarchyEvents in class Component

getLayout

public LayoutManager getLayout()
Gets the layout manager for this container.

See Also:
doLayout(), setLayout(java.awt.LayoutManager)

setLayout

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

Parameters:
mgr - the specified layout manager
See Also:
doLayout(), getLayout()

doLayout

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.

Overrides:
doLayout in class Component
Since:
JDK1.1
See Also:
LayoutManager.layoutContainer(java.awt.Container), setLayout(java.awt.LayoutManager), validate()

layout

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

Overrides:
layout in class Component

invalidate

public void invalidate()
Invalidates the container. The container and all parents above it are marked as needing to be laid out. This method can be called often, so it needs to execute quickly.

Overrides:
invalidate in class Component
See Also:
validate(), layout(), LayoutManager

validate

public void validate()
Validates this container and all of its subcomponents.

The validate method is used to cause a container to lay out its subcomponents again. It should be invoked when this container's subcomponents are modified (added to or removed from the container, or layout-related information changed) after the container has been displayed.

Overrides:
validate in class Component
See Also:
add(java.awt.Component), Component.invalidate(), JComponent.revalidate()

validateTree

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.


invalidateTree

void invalidateTree()
Recursively descends the container tree and invalidates all contained components.


setFont

public void setFont(Font f)
Sets the font of this container.

Overrides:
setFont in class Component
Parameters:
f - The font to become this container's font.
Since:
JDK1.0
See Also:
Component.getFont()

getPreferredSize

public Dimension getPreferredSize()
Returns the preferred size of this container.

Overrides:
getPreferredSize in class Component
Returns:
an instance of Dimension that represents the preferred size of this container.
See Also:
getMinimumSize(), getLayout(), LayoutManager.preferredLayoutSize(Container), Component.getPreferredSize()

preferredSize

public Dimension preferredSize()
Deprecated. As of JDK version 1.1, replaced by getPreferredSize().

Overrides:
preferredSize in class Component

getMinimumSize

public Dimension getMinimumSize()
Returns the minimum size of this container.

Overrides:
getMinimumSize in class Component
Returns:
an instance of Dimension that represents the minimum size of this container.
Since:
JDK1.1
See Also:
getPreferredSize(), getLayout(), LayoutManager.minimumLayoutSize(Container), Component.getMinimumSize()

minimumSize

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

Overrides:
minimumSize in class Component

getMaximumSize

public Dimension getMaximumSize()
Returns the maximum size of this container.

Overrides:
getMaximumSize in class Component
Returns:
a dimension object indicating this component's maximum size
See Also:
getPreferredSize()

getAlignmentX

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.

Overrides:
getAlignmentX in class Component

getAlignmentY

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.

Overrides:
getAlignmentY in class Component

paint

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.

Overrides:
paint in class Component
Parameters:
g - the specified Graphics window
See Also:
Component.update(Graphics)

update

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.

Overrides:
update in class Component
Parameters:
g - the specified Graphics window
See Also:
Component.update(Graphics)

print

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.

Overrides:
print in class Component
Parameters:
g - the specified Graphics window
See Also:
Component.update(Graphics)

paintComponents

public void paintComponents(Graphics g)
Paints each of the components in this container.

Parameters:
g - the graphics context.
See Also:
Component.paint(java.awt.Graphics), Component.paintAll(java.awt.Graphics)

lightweightPaint

void lightweightPaint(Graphics g)
Simulates the peer callbacks into java.awt for printing of lightweight Containers.

Overrides:
lightweightPaint in class Component
Parameters:
g - the graphics context to use for printing.
See Also:
Component.printAll(java.awt.Graphics), printComponents(java.awt.Graphics)

paintHeavyweightComponents

void paintHeavyweightComponents(Graphics g)
Prints all the heavyweight subcomponents.

Overrides:
paintHeavyweightComponents in class Component

printComponents

public void printComponents(Graphics g)
Prints each of the components in this container.

Parameters:
g - the graphics context.
See Also:
Component.print(java.awt.Graphics), Component.printAll(java.awt.Graphics)

lightweightPrint

void lightweightPrint(Graphics g)
Simulates the peer callbacks into java.awt for printing of lightweight Containers.

Overrides:
lightweightPrint in class Component
Parameters:
g - the graphics context to use for printing.
See Also:
Component.printAll(java.awt.Graphics), printComponents(java.awt.Graphics)

printHeavyweightComponents

void printHeavyweightComponents(Graphics g)
Prints all the heavyweight subcomponents.

Overrides:
printHeavyweightComponents in class Component

addContainerListener

public 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.

Parameters:
l - the container listener
See Also:
removeContainerListener(java.awt.event.ContainerListener), getContainerListeners()

removeContainerListener

public 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.

Parameters:
l - the container listener
See Also:
addContainerListener(java.awt.event.ContainerListener), getContainerListeners()

getContainerListeners

public ContainerListener[] getContainerListeners()
Returns an array of all the container listeners registered on this container.

Returns:
all of this container's ContainerListeners or an empty array if no container listeners are currently registered
Since:
1.4
See Also:
addContainerListener(java.awt.event.ContainerListener), removeContainerListener(java.awt.event.ContainerListener)

getListeners

public EventListener[] getListeners(Class 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.

Overrides:
getListeners in class Component
Parameters:
listenerType - the type of listeners requested; this parameter should specify an interface that descends from java.util.EventListener
Returns:
an array of all objects registered as FooListeners on this container, or an empty array if no such listeners have been added
Throws:
ClassCastException - if listenerType doesn't specify a class or interface that implements java.util.EventListener
Since:
1.3
See Also:
getContainerListeners()

eventEnabled

boolean eventEnabled(AWTEvent e)
Overrides:
eventEnabled in class Component

processEvent

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.

Overrides:
processEvent in class Component
Parameters:
e - the event
See Also:
Component.processComponentEvent(java.awt.event.ComponentEvent), Component.processFocusEvent(java.awt.event.FocusEvent), Component.processKeyEvent(java.awt.event.KeyEvent), Component.processMouseEvent(java.awt.event.MouseEvent), Component.processMouseMotionEvent(java.awt.event.MouseEvent), Component.processInputMethodEvent(java.awt.event.InputMethodEvent), Component.processHierarchyEvent(java.awt.event.HierarchyEvent), Component.processMouseWheelEvent(java.awt.event.MouseWheelEvent)

processContainerEvent

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:

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

Parameters:
e - the container event
See Also:
Component.enableEvents(long)

dispatchEventImpl

void dispatchEventImpl(AWTEvent e)
Overrides:
dispatchEventImpl in class Component

dispatchEventToSelf

void dispatchEventToSelf(AWTEvent e)

getMouseEventTarget

Component getMouseEventTarget(int x,
                              int y,
                              boolean includeSelf)
Fetchs the top-most (deepest) lightweight component that is interested in receiving mouse events.


getDropTargetEventTarget

Component getDropTargetEventTarget(int x,
                                   int y,
                                   boolean includeSelf)
Fetches the top-most (deepest) component to receive SunDropTargetEvents.


getMouseEventTarget

private Component getMouseEventTarget(int x,
                                      int y,
                                      boolean includeSelf,
                                      Container.EventTargetFilter filter,
                                      boolean searchHeavyweights)
A private version of getMouseEventTarget which has two additional controllable behaviors. This method searches for the top-most descendant of this container that contains the given coordinates and is accepted by the given filter. The search will be constrained to lightweight descendants if the last argument is false.

Parameters:
filter - EventTargetFilter instance to determine whether the given component is a valid target for this event.
searchHeavyweights - if false, the method will bypass heavyweight components during the search.

getMouseEventTargetImpl

private Component getMouseEventTargetImpl(int x,
                                          int y,
                                          boolean includeSelf,
                                          Container.EventTargetFilter filter,
                                          boolean searchHeavyweightChildren,
                                          boolean searchHeavyweightDescendants)
A private version of getMouseEventTarget which has three additional controllable behaviors. This method searches for the top-most descendant of this container that contains the given coordinates and is accepted by the given filter. The search will be constrained to descendants of only lightweight children or only heavyweight children of this container depending on searchHeavyweightChildren. The search will be constrained to only lightweight descendants of the searched children of this container if searchHeavyweightDescendants is false.

Parameters:
filter - EventTargetFilter instance to determine whether the selected component is a valid target for this event.
searchHeavyweightChildren - if true, the method will bypass immediate lightweight children during the search. If false, the methods will bypass immediate heavyweight children during the search.
searchHeavyweightDescendants - if false, the method will bypass heavyweight descendants which are not immediate children during the search. If true, the method will traverse both lightweight and heavyweight descendants during the search.

proxyEnableEvents

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.


deliverEvent

public void deliverEvent(Event e)
Deprecated. As of JDK version 1.1, replaced by dispatchEvent(AWTEvent e)

Overrides:
deliverEvent in class Component

getComponentAt

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

Overrides:
getComponentAt in class Component
Parameters:
x - the x coordinate
y - the y coordinate
Returns:
null if the component does not contain the position. If there is no child component at the requested point and the point is within the bounds of the container the container itself is returned; otherwise the top-most child is returned.
Since:
JDK1.1
See Also:
Component.contains(int, int)

locate

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

Overrides:
locate in class Component

getComponentAt

public Component getComponentAt(Point p)
Gets the component that contains the specified point.

Overrides:
getComponentAt in class Component
Parameters:
p - the point.
Returns:
returns the component that contains the point, or null if the component does not contain the point.
Since:
JDK1.1
See Also:
Component.contains(int, int)

findComponentAt

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.

Parameters:
x - the x coordinate
y - the y coordinate
Returns:
null if the component does not contain the position. If there is no child component at the requested point and the point is within the bounds of the container the container itself is returned.
Since:
1.2
See Also:
Component.contains(int, int), getComponentAt(int, int)

findComponentAt

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.


findComponentAt

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.

Parameters:
p - the point.
Returns:
null if the component does not contain the position. If there is no child component at the requested point and the point is within the bounds of the container the container itself is returned.
Since:
1.2
See Also:
Component.contains(int, int), getComponentAt(int, int)

addNotify

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.

Overrides:
addNotify in class Component
See Also:
Component.isDisplayable(), removeNotify()

removeNotify

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.

Overrides:
removeNotify in class Component
See Also:
Component.isDisplayable(), addNotify()

isAncestorOf

public boolean isAncestorOf(Component c)
Checks if the component is contained in the component hierarchy of this container.

Parameters:
c - the component
Returns:
true if it is an ancestor; false otherwise.
Since:
JDK1.1

paramString

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.

Overrides:
paramString in class Component
Returns:
the parameter string of this container

list

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.

Overrides:
list in class Component
Parameters:
out - a print stream.
indent - the number of spaces to indent.
Since:
JDK1.0
See Also:
Component.list(java.io.PrintStream, int)

list

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

Overrides:
list in class Component
Parameters:
out - the print writer to print to
indent - the number of spaces to indent
See Also:
PrintStream.println(java.lang.Object)

setFocusTraversalKeys

public void setFocusTraversalKeys(int id,
                                  Set 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.

Overrides:
setFocusTraversalKeys in class Component
Parameters:
id - one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
keystrokes - the Set of AWTKeyStroke for the specified operation
Throws:
IllegalArgumentException - if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS, or if keystrokes contains null, or if any Object in keystrokes is not an AWTKeyStroke, or if any keystroke represents a KEY_TYPED event, or if any keystroke already maps to another focus traversal operation for this Container
Since:
1.4
See Also:
getFocusTraversalKeys(int), KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS

getFocusTraversalKeys

public Set 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.

Overrides:
getFocusTraversalKeys in class Component
Parameters:
id - one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
Returns:
the Set of AWTKeyStrokes for the specified operation. The Set will be unmodifiable, and may be empty. null will never be returned.
Throws:
IllegalArgumentException - if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
Since:
1.4
See Also:
setFocusTraversalKeys(int, java.util.Set), KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS

areFocusTraversalKeysSet

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.

Overrides:
areFocusTraversalKeysSet in class Component
Parameters:
id - one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
Returns:
true if the the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Component; false otherwise.
Throws:
IllegalArgumentException - if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
Since:
1.4

isFocusCycleRoot

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.

Overrides:
isFocusCycleRoot in class Component
Parameters:
container - the Container to be tested
Returns:
true if the specified Container is a focus-cycle- root of this Container; false otherwise
Since:
1.4
See Also:
isFocusCycleRoot()

findTraversalRoot

private Container findTraversalRoot()

containsFocus

final boolean containsFocus()
Overrides:
containsFocus in class Component

isParentOf

boolean isParentOf(Component comp)
Check if this component is the child of this container or its children. Note: this function acquires treeLock Note: this function traverses children tree only in one Window.

Parameters:
comp - a component in test, must not be null

clearMostRecentFocusOwnerOnHide

void clearMostRecentFocusOwnerOnHide()
Overrides:
clearMostRecentFocusOwnerOnHide in class Component

clearCurrentFocusCycleRootOnHide

void clearCurrentFocusCycleRootOnHide()
Overrides:
clearCurrentFocusCycleRootOnHide in class Component

nextFocusHelper

boolean nextFocusHelper()
Overrides:
nextFocusHelper in class Component

transferFocusBackward

public void transferFocusBackward()
Description copied from class: Component
Transfers the focus to the previous component, as though this Component were the focus owner.

Overrides:
transferFocusBackward in class Component
See Also:
Component.requestFocus()

setFocusTraversalPolicy

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.

Parameters:
policy - the new focus traversal policy for this Container
Since:
1.4
See Also:
getFocusTraversalPolicy(), setFocusCycleRoot(boolean), isFocusCycleRoot(java.awt.Container)

getFocusTraversalPolicy

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.

Returns:
this Container's focus traversal policy, or null if this Container is not a focus cycle root.
Since:
1.4
See Also:
setFocusTraversalPolicy(java.awt.FocusTraversalPolicy), setFocusCycleRoot(boolean), isFocusCycleRoot(java.awt.Container)

isFocusTraversalPolicySet

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.

Returns:
true if the focus traversal policy has been explicitly set for this Container; false otherwise.
Since:
1.4

setFocusCycleRoot

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.

Parameters:
focusCycleRoot - indicates whether this Container is the root of a focus traversal cycle
Since:
1.4
See Also:
isFocusCycleRoot(), setFocusTraversalPolicy(java.awt.FocusTraversalPolicy), getFocusTraversalPolicy(), ContainerOrderFocusTraversalPolicy

isFocusCycleRoot

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.

Returns:
whether this Container is the root of a focus traversal cycle
Since:
1.4
See Also:
setFocusCycleRoot(boolean), setFocusTraversalPolicy(java.awt.FocusTraversalPolicy), getFocusTraversalPolicy(), ContainerOrderFocusTraversalPolicy

transferFocusDownCycle

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.

Since:
1.4
See Also:
Component.requestFocus(), isFocusCycleRoot(java.awt.Container), setFocusCycleRoot(boolean)

preProcessKeyEvent

void preProcessKeyEvent(KeyEvent e)

postProcessKeyEvent

void postProcessKeyEvent(KeyEvent e)

postsOldMouseEvents

boolean postsOldMouseEvents()
Overrides:
postsOldMouseEvents in class Component

applyComponentOrientation

public void applyComponentOrientation(ComponentOrientation o)
Sets the ComponentOrientation property of this container and all components contained within it.

Overrides:
applyComponentOrientation in class Component
Parameters:
o - the new component orientation of this container and the components contained within it.
Throws:
NullPointerException - if orientation is null.
Since:
1.4
See Also:
Component.setComponentOrientation(java.awt.ComponentOrientation), Component.getComponentOrientation()

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.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.

Overrides:
addPropertyChangeListener in class Component
Parameters:
listener - the PropertyChangeListener to be added
See Also:
Component.removePropertyChangeListener(java.beans.PropertyChangeListener), addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)

addPropertyChangeListener

public void addPropertyChangeListener(String propertyName,
                                      java.beans.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")
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.

Overrides:
addPropertyChangeListener in class Component
Parameters:
propertyName - one of the property names listed above
listener - the PropertyChangeListener to be added
See Also:
addPropertyChangeListener(java.beans.PropertyChangeListener), Component.removePropertyChangeListener(java.beans.PropertyChangeListener)

writeObject

private void writeObject(ObjectOutputStream s)
                  throws IOException
Serializes this Container to the specified ObjectOutputStream.
  • Writes default serializable fields to the stream.
  • Writes a list of serializable ContainerListener(s) as optional data. The non-serializable ContainerListner(s) are detected and no attempt is made to serialize them.
  • Write this Container's FocusTraversalPolicy if and only if it is Serializable; otherwise, null is written.

Parameters:
s - the ObjectOutputStream to write
Throws:
IOException
See Also:
AWTEventMulticaster.save(java.io.ObjectOutputStream, java.lang.String, java.util.EventListener), Component.containerListenerK, readObject(ObjectInputStream)

readObject

private void readObject(ObjectInputStream s)
                 throws ClassNotFoundException,
                        IOException
Deserializes this Container from the specified ObjectInputStream.
  • Reads default serializable fields from the stream.
  • Reads a list of serializable ContainerListener(s) as optional data. If the list is null, no Listeners are installed.
  • Reads this Container's FocusTraversalPolicy, which may be null, as optional data.

Parameters:
s - the ObjectInputStream to read
Throws:
ClassNotFoundException
IOException
See Also:
addContainerListener(java.awt.event.ContainerListener), writeObject(ObjectOutputStream)

getAccessibleAt

javax.accessibility.Accessible getAccessibleAt(Point p)
Returns the Accessible child contained at the local coordinate Point, if one exists. Otherwise returns null.

Parameters:
p - the point defining the top-left corner of the Accessible, given in the coordinate space of the object's parent
Returns:
the Accessible at the specified location, if it exists; otherwise null

getAccessibleChildrenCount

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.

Returns:
the number of accessible children in the object

getAccessibleChild

javax.accessibility.Accessible getAccessibleChild(int i)
Returns the nth Accessible child of the object.

Parameters:
i - zero-based index of child
Returns:
the nth Accessible child of the object