This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


java.awt
class Container

java.lang.Object extended by java.awt.Component extended by java.awt.Container
All Implemented Interfaces:
MenuContainer, ImageObserver, Serializable
Direct Known Subclasses:
BasicSplitPaneDivider, CellRendererPane, 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).

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
protected class

           Inner class of Container used to provide default support for accessibility.
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
   
Field Summary
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Constructor Summary

          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

          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

          Makes this Container displayable by connecting it to a native screen resource.
 void

          Adds a PropertyChangeListener to the listener list.
 void

          Adds a PropertyChangeListener to the listener list for a specific property.
 void

          Sets the ComponentOrientation property of this container and all components contained within it.
 boolean

          Returns whether the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Container.
 int

          
 void

          
 void

          Causes this container to lay out its components.
 Component
findComponentAt(int x, int y)

          Locates the visible child component that contains the specified position.
 Component

          Locates the visible child component that contains the specified point.
 float

          Returns the alignment along the x axis.
 float

          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

          Gets the component that contains the specified point.
 int

          Gets the number of components in this panel.
 Component[]

          Gets all the components in this container.
 int

          Returns the z-order index of the component inside the container.
 ContainerListener[]

          Returns an array of all the container listeners registered on this container.
 Set

          Returns the Set of focus traversal keys for a given traversal operation for this Container.
 FocusTraversalPolicy

          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

          Determines the insets of this container, which indicate the size of the container's border.
 LayoutManager

          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

          Returns the maximum size of this container.
 Dimension

          Returns the minimum size of this container.
 Point
getMousePosition(boolean allowChildren)

          Returns the position of the mouse pointer in this Container's coordinate space if the Container is under the mouse pointer, otherwise returns null.
 Dimension

          Returns the preferred size of this container.
 Insets

          
 void

          Invalidates the container.
 boolean

          Checks if the component is contained in the component hierarchy of this container.
 boolean

          Returns whether this Container is the root of a focus traversal cycle.
 boolean

          Returns whether the specified Container is the focus cycle root of this Container's focus traversal cycle.
 boolean

          Returns whether this container provides focus traversal policy.
 boolean

          Returns whether the focus traversal policy has been explicitly set for this Container.
 void

          
 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 indentation, to the specified print writer.
 Component
locate(int x, int y)

          
 Dimension

          
 void

          Paints the container.
 void

          Paints each of the components in this container.
protected String

          Returns a string representing the state of this Container.
 Dimension

          
 void

          Prints the container.
 void

          Prints each of the components in this container.
protected void

          Processes container events occurring on this container by dispatching them to any registered ContainerListener objects.
protected void

          Processes events on this container.
 void

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

          Removes the component, specified by index, from this container.
 void

          Removes all the components from this container.
 void

          Removes the specified container listener so it no longer receives container events from this container.
 void

          Makes this Container undisplayable by removing its connection to its native screen resource.
 void
setComponentZOrder(Component comp, int index)

          Moves the specified component to the specified z-order index in the container.
 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

          Sets the focus traversal policy that will manage keyboard traversal of this Container's children, if this Container is a focus cycle root.
 void

          Sets whether this container will be used to provide focus traversal policy.
 void

          Sets the font of this container.
 void

          Sets the layout manager for this container.
 void

          Transfers the focus to the previous component, as though this Component were the focus owner.
 void

          Transfers the focus down one focus traversal cycle.
 void

          Updates the container.
 void

          Validates this container and all of its subcomponents.
protected void

          Recursively descends the container tree and recomputes the layout for any subtrees marked as needing it (those marked as invalid).
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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

add

public Component add(Component comp)
Appends the specified component to the end of this container. This is a convenience method for {@link #addImpl}.

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

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 {@link #addImpl}.

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

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 {@link #addImpl}.

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

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 {@link #addImpl}.

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

add

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

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

Parameters:
name
comp

addContainerListener

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.

Parameters:
l - the container listener

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.

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

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

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

addPropertyChangeListener

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: 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

addPropertyChangeListener

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: 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

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.

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.

countComponents

public int countComponents()

deliverEvent

public void deliverEvent(Event e)
Overrides:
deliverEvent in class Component
Parameters:
e

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

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.

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.

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

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.

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.

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.

getComponentCount

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

Returns:
the number of components in this panel.

getComponents

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

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

getComponentZOrder

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.

Parameters:
comp - the component being queried
Returns:
the z-order index of the component; otherwise returns -1 if the component is null or doesn't belong to the container

getContainerListeners

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

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.

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.

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.

getLayout

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


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

getMaximumSize

public Dimension getMaximumSize()
Returns the maximum size of this container. If the maximum size has not been set explicitly by {@link Component#setMaximumSize(Dimension)} and the {@link LayoutManager} installed on this {@code Container} is an instance of {@link LayoutManager2}, then {@link 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.

Overrides:
getMaximumSize in class Component
Returns:
an instance of Dimension that represents the maximum size of this container.

getMinimumSize

public Dimension getMinimumSize()
Returns the minimum size of this container. If the minimum size has not been set explicitly by {@link Component#setMinimumSize(Dimension)} and this {@code Container} has a {@code non-null} {@link LayoutManager}, then {@link 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.

Overrides:
getMinimumSize in class Component
Returns:
an instance of Dimension that represents the minimum size of this container.

getMousePosition

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 {@link 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.

Parameters:
allowChildren - true if children should be taken into account
Returns:
mouse coordinates relative to this Component, or null
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true

getPreferredSize

public Dimension getPreferredSize()
Returns the preferred size of this container. If the preferred size has not been set explicitly by {@link Component#setPreferredSize(Dimension)} and this {@code Container} has a {@code non-null} {@link LayoutManager}, then {@link 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.

Overrides:
getPreferredSize in class Component
Returns:
an instance of Dimension that represents the preferred size of this container.

insets

public Insets insets()

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.

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

Overrides:
invalidate in class Component

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.

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

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

isFocusTraversalPolicyProvider

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.

Returns:
true if this container provides focus traversal policy, false otherwise

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.

layout

public void layout()
Overrides:
layout in class Component

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.

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.

Overrides:
list in class Component
Parameters:
out - a print stream
indent - the number of spaces to indent

list

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.

Overrides:
list in class Component
Parameters:
out - a print writer
indent - the number of spaces to indent

locate

public Component locate(int x,
                        int y)
Overrides:
locate in class Component
Parameters:
x
y

minimumSize

public Dimension minimumSize()
Overrides:
minimumSize 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

paintComponents

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

Parameters:
g - the graphics context.

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

preferredSize

public Dimension preferredSize()
Overrides:
preferredSize in class Component

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

printComponents

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

Parameters:
g - the graphics context.

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

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

remove

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.

Note: If a component has been removed from a container that had been displayed, {@link #validate} must be called on that container to reflect changes. If multiple components are being removed, you can improve efficiency by calling {@link #validate} only once, after all the components have been removed.

Parameters:
comp - the component to be removed

remove

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.

Note: If a component has been removed from a container that had been displayed, {@link #validate} must be called on that container to reflect changes. If multiple components are being removed, you can improve efficiency by calling {@link #validate} only once, after all the components have been removed.

Parameters:
index - the index of the component to be removed

removeAll

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.


removeContainerListener

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.

Parameters:
l - the container listener

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

setComponentZOrder

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.

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.

Parameters:
comp - the component to be moved
index - the position in the container's list to insert the component, where getComponentCount() appends to the end

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.

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

Parameters:
focusCycleRoot - indicates whether this Container is the root of a focus traversal cycle

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

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

setFocusTraversalPolicyProvider

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.

Parameters:
provider - indicates whether this container will be used to provide focus traversal policy

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.

setLayout

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

Parameters:
mgr - the specified layout manager

transferFocusBackward

public void transferFocusBackward()
Overrides:
transferFocusBackward in class Component

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.


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

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.

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.

Overrides:
validate in class Component

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.



This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.