Class | Tree | Index | Help
PREV CLASS | NEXT CLASS FRAMES  | NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD DETAIL:  FIELD | CONSTR | METHOD

Class java.awt.Container

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
Subclasses:
java.awt.Panel, 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
Version:
1.126 06/03/98
See Also:
add(java.awt.Component, int), getComponent(int), LayoutManager, Serialized Form

Inner classes inherited from class java.awt.Component
Component.NativeInLightFixer
 
Field Summary
Component[] component
          The components in this container.
java.awt.event.ContainerListener containerListener
           
int containerSerializedDataVersion
           
LightweightDispatcher dispatcher
          Event router for lightweight components.
LayoutManager layoutMgr
          Layout manager for this container.
java.awt.Dimension maxSize
          Internal, cached size information
int ncomponents
          The number of components in this container.
static long serialVersionUID
           
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, parent, peer, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
Container()
          Constructs a new Container.
 
Method Summary
Component add(Component comp)
          Adds the specified component to the end of this container.
Component add(String name, Component comp)
          Adds the specified component to 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.
void addContainerListener(java.awt.event.ContainerListener l)
          Adds the specified container listener to receive container events from this container.
void addImpl(Component comp, Object constraints, int index)
          Adds the specified component to this container at the specified index.
void addNotify()
          Notifies the container to create a peer.
void applyOrientation(java.awt.ComponentOrientation o)
          Package-visible utility to set the orientation of this container and all components contained within it.
int countComponents()
          Deprecated.  
void deliverEvent(Event e)
          Deprecated.  
void dispatchEventImpl(AWTEvent e)
           
void doLayout()
          Causes this container to lay out its components.
boolean eventEnabled(AWTEvent e)
           
Component findComponentAt(int x, int y)
          Locates the visible child component that contains the specified position.
Component findComponentAt(java.awt.Point p)
          Locates the visible child component that contains the specified point.
float getAlignmentX()
          Returns the alignment along the x axis.
float getAlignmentY()
          Returns the alignment along the y axis.
Component getComponentAt(int x, int y)
          Locates the component that contains the x,y position.
Component getComponentAt(java.awt.Point p)
          Gets the component that contains the specified point.
Component getComponent(int n)
          Gets the nth component in this container.
int getComponentCount()
          Gets the number of components in this panel.
Component[] getComponents()
          Gets all the components in this container.
java.awt.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.
java.awt.Dimension getMaximumSize()
          Returns the maximum size of this container.
java.awt.Dimension getMinimumSize()
          Returns the minimum size of this container.
Component getMouseEventTarget(int x, int y)
          Fetchs the top-most (deepest) lightweight component that is interested in receiving mouse events.
java.awt.Dimension getPreferredSize()
          Returns the preferred size of this container.
Window getWindow()
           
java.awt.Insets insets()
          Deprecated.  
void invalidate()
          Invalidates the container.
boolean isAncestorOf(Component c)
          Checks if the component is contained in the component hierarchy of this container.
void layout()
          Deprecated.  
void list(java.io.PrintStream out, int indent)
          Prints a listing of this container to the specified output stream.
void list(java.io.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.  
java.awt.Dimension minimumSize()
          Deprecated.  
void nextFocus(Component base)
          Deprecated.  
void paintComponents(java.awt.Graphics g)
          Paints each of the components in this container.
void paint(java.awt.Graphics g)
          Paints the container.
String paramString()
          Returns the parameter string representing the state of this container.
void postProcessKeyEvent(java.awt.event.KeyEvent e)
           
boolean postsOldMouseEvents()
           
java.awt.Dimension preferredSize()
          Deprecated.  
void preProcessKeyEvent(java.awt.event.KeyEvent e)
           
void printComponents(java.awt.Graphics g)
          Prints each of the components in this container.
void print(java.awt.Graphics g)
          Prints the container.
void processContainerEvent(java.awt.event.ContainerEvent e)
          Processes container events occurring on this container by dispatching them to any registered ContainerListener objects.
void processEvent(AWTEvent e)
          Processes events on this container.
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.
void proxyRequestFocus(Component c)
          This is called by lightweight components that have requested focus.
void readObject(java.io.ObjectInputStream s)
           
void removeAll()
          Removes all the components from this container.
void remove(int index)
          Removes the component, specified by index, from this container.
void remove(Component comp)
          Removes the specified component from this container.
void removeContainerListener(java.awt.event.ContainerListener l)
          Removes the specified container listener so it no longer receives container events from this container.
void removeNotify()
          Notifies this container and all of its subcomponents to remove their peers.
void setFocusOwner(Component c)
           
void setLayout(LayoutManager mgr)
          Sets the layout manager for this container.
void transferFocus(Component base)
           
void update(java.awt.Graphics g)
          Updates the container.
void validate()
          Validates this container and all of its subcomponents.
void validateTree()
          Recursively descends the container tree and recomputes the layout for any subtrees marked as needing it (those marked as invalid).
void writeObject(java.io.ObjectOutputStream s)
           
 
Methods inherited from class java.awt.Component
, action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, constructComponentName, contains, contains, createImage, createImage, deliverEvent, disable, disableEvents, dispatchEvent, dispatchEventImpl, doLayout, enable, enable, enableEvents, enableInputMethods, ensureWindowActivation, eventEnabled, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getName, getNativeContainer, getParent, getPeer, getPreferredSize, getSize, getSize, getToolkit, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, initIDs, inside, invalidate, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paint, paramString, postEvent, postsOldMouseEvents, preferredSize, prepareImage, prepareImage, printAll, print, processComponentEvent, processEvent, processFocusEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, readObject, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFont, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, update, validate, writeObject
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notifyAll, notify, registerNatives, toString, wait, wait, wait
 

Field Detail

ncomponents

int ncomponents
The number of components in this container.

component

Component[] component
The components in this container.

layoutMgr

LayoutManager layoutMgr
Layout manager for this container.

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 java.awt.Dimension maxSize
Internal, cached size information

containerListener

transient java.awt.event.ContainerListener containerListener

serialVersionUID

private static final long serialVersionUID

containerSerializedDataVersion

private int containerSerializedDataVersion
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

getComponentCount

public int getComponentCount()
Gets the number of components in this panel.
Returns:
the number of components in this panel.
See Also:
getComponent

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.

getInsets

public java.awt.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.
See Also:
java.awt.Insets, LayoutManager


insets

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

add

public Component add(Component comp)
Adds the specified component to the end of this container.
Parameters:
comp - the component to be added.
Returns:
the component argument.

add

public Component add(String name,
                     Component comp)
Adds the specified component to this container. It is strongly advised to use the 1.1 method, add(Component, Object), in place of this method.

add

public Component add(Component comp,
                     int index)
Adds the specified component to this container at the given position.
Parameters:
comp - the component to be added.
index - the position at which to insert the component, or -1 to insert the component at the end.
Returns:
the component comp
See Also:
remove

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.
Parameters:
comp - the component to be added
constraints - an object expressing layout contraints for this component
See Also:
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.
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:
remove, 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.

This is the method to override if a program needs to track every add request to a container. 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 contraints for this component.
index - the position in the container's list at which to insert the component, where -1 means insert at the end.
See Also:
add(java.awt.Component), add(java.awt.Component, int), add(java.awt.Component, java.lang.Object), LayoutManager


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.
See Also:
add

remove

public void remove(Component comp)
Removes the specified component from this container.
Parameters:
comp - the component to be removed
See Also:
add

removeAll

public void removeAll()
Removes all the components from this container.
See Also:
add, remove

getLayout

public LayoutManager getLayout()
Gets the layout manager for this container.
See Also:
doLayout, setLayout

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
See Also:
layoutContainer, setLayout, 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.

AWT uses validate to cause a container to lay out its subcomponents again after the components it contains have been added to or modified.

Overrides:
validate in class Component
See Also:
validate, invalidate


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.

getPreferredSize

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

preferredSize

public java.awt.Dimension preferredSize()
Deprecated. As of JDK version 1.1, replaced by getPreferredSize().
Overrides:
preferredSize in class Component

getMinimumSize

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

minimumSize

public java.awt.Dimension minimumSize()
Deprecated. As of JDK version 1.1, replaced by getMinimumSize().
Overrides:
minimumSize in class Component

getMaximumSize

public java.awt.Dimension getMaximumSize()
Returns the maximum size of this container.
Overrides:
getMaximumSize in class Component
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(java.awt.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.
Parameters:
g - the specified Graphics window
Overrides:
paint in class Component
See Also:
update(java.awt.Graphics)

update

public void update(java.awt.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.
Parameters:
g - the specified Graphics window
Overrides:
update in class Component
See Also:
update(java.awt.Graphics)

print

public void print(java.awt.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.
Parameters:
g - the specified Graphics window
Overrides:
print in class Component
See Also:
update(java.awt.Graphics)

paintComponents

public void paintComponents(java.awt.Graphics g)
Paints each of the components in this container.
Parameters:
g - the graphics context.
See Also:
paint, paintAll

printComponents

public void printComponents(java.awt.Graphics g)
Prints each of the components in this container.
Parameters:
g - the graphics context.
See Also:
print, printAll

addContainerListener

public void addContainerListener(java.awt.event.ContainerListener l)
Adds the specified container listener to receive container events from this container.
Parameters:
l - the container listener

removeContainerListener

public void removeContainerListener(java.awt.event.ContainerListener l)
Removes the specified container listener so it no longer receives container events from this container.
Parameters:
l - the container listener

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.
Parameters:
e - the event
Overrides:
processEvent in class Component

processContainerEvent

protected void processContainerEvent(java.awt.event.ContainerEvent e)
Processes container events occurring on this container by dispatching them to any registered ContainerListener objects. NOTE: This method will not be called unless container events are enabled for this component; this happens when one of the following occurs: a) A ContainerListener object is registered via addContainerListener() b) Container events are enabled via enableEvents()
Parameters:
e - the container event
See Also:
enableEvents

dispatchEventImpl

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

getMouseEventTarget

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

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.

getWindow

Window getWindow()

proxyRequestFocus

void proxyRequestFocus(Component c)
This is called by lightweight components that have requested focus. The focus request is propagated upward until a native container is found, at which point the native container requests focus and records the component the host is requesting focus for.

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().
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.
Overrides:
getComponentAt in class Component
See Also:
contains

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(java.awt.Point p)
Gets the component that contains the specified point.
Parameters:
p - the point.
Returns:
returns the component that contains the point, or null if the component does not contain the point.
Overrides:
getComponentAt in class Component
See Also:
contains

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 yoordinate
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.
See Also:
contains, getComponentAt


findComponentAt

public Component findComponentAt(java.awt.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.
See Also:
contains, getComponentAt


addNotify

public void addNotify()
Notifies the container to create a peer. It will also notify the components contained in this container. This method should be called by Container.add, and not by user code directly.
Overrides:
addNotify in class Component
See Also:
removeNotify

removeNotify

public void removeNotify()
Notifies this container and all of its subcomponents to remove their peers. This method should be invoked by the container's remove method, and not directly by user code.
Overrides:
removeNotify in class Component
See Also:
remove(int), remove(java.awt.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.

paramString

protected String paramString()
Returns the parameter string representing the state of this container. This string is useful for debugging.
Returns:
the parameter string of this container.
Overrides:
paramString in class Component

list

public void list(java.io.PrintStream out,
                 int indent)
Prints a listing of this container to the specified output stream. The listing starts at the specified indentation.
Parameters:
out - a print stream.
indent - the number of spaces to indent.
Overrides:
list in class Component
See Also:
list(java.io.PrintStream, int)

list

public void list(java.io.PrintWriter out,
                 int indent)
Prints out a list, starting at the specified indention, to the specified print writer.
Overrides:
list in class Component

setFocusOwner

void setFocusOwner(Component c)

preProcessKeyEvent

void preProcessKeyEvent(java.awt.event.KeyEvent e)

postProcessKeyEvent

void postProcessKeyEvent(java.awt.event.KeyEvent e)

transferFocus

void transferFocus(Component base)

postsOldMouseEvents

boolean postsOldMouseEvents()
Overrides:
postsOldMouseEvents in class Component

nextFocus

void nextFocus(Component base)
Deprecated. As of JDK version 1.1, replaced by transferFocus(Component).

applyOrientation

void applyOrientation(java.awt.ComponentOrientation o)
Package-visible utility to set the orientation of this container and all components contained within it.
See Also:
applyResourceBundle(java.util.ResourceBundle)

writeObject

private void writeObject(java.io.ObjectOutputStream s)
                 throws java.io.IOException
Overrides:
writeObject in class Component

readObject

private void readObject(java.io.ObjectInputStream s)
                throws java.lang.ClassNotFoundException,
                       java.io.IOException
Overrides:
readObject in class Component

Class | Tree | Index | Help
PREV CLASS | NEXT CLASS FRAMES  | NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD DETAIL:  FIELD | CONSTR | METHOD