Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.awt
Class Container

    java.lang.Object
      |
      +--java.awt.Component
            |
            +--java.awt.Container

All Implemented Interfaces:
  ImageObserver, MenuContainer, Serializable

Direct Known Subclasses:
  BasicSplitPaneDivider, Box, 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).

Since:
  JDK1.0
See Also:
  `add(java.awt.Component, int)`, `getComponent(int)`, `LayoutManager`, Serialized Form

Inner Class Summary
`protected class` | `Container.AccessibleAWTContainer` Inner class of Container used to provide default support for accessibility.

Inner classes inherited from class java.awt.Component
`Component.AccessibleAWTComponent`

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

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)` Adds 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.
`int` | `countComponents()` Deprecated. As of JDK version 1.1, replaced by getComponentCount().
`void` | `deliverEvent(Event e)` Deprecated. As of JDK version 1.1, replaced by `dispatchEvent(AWTEvent e)`
`void` | `doLayout()` 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` | `findComponentAt(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` | `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.
`Component[]` | `getComponents()` Gets all the components in this container.
`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)` Return an array of all the listeners that were added to the Container with addXXXListener(), where XXX is the name of the `listenerType` argument.
`Dimension` | `getMaximumSize()` Returns the maximum size of this container.
`Dimension` | `getMinimumSize()` Returns the minimum size of this container.
`Dimension` | `getPreferredSize()` Returns the preferred size of this container.
`Insets` | `insets()` Deprecated. As of JDK version 1.1, replaced by `getInsets()`.
`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. As of JDK version 1.1, replaced by `doLayout()`.
`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()`.
`void` | `paint(Graphics g)` Paints the container.
`void` | `paintComponents(Graphics g)` Paints each of the components in this container.
`protected String` | `paramString()` Returns the parameter string representing the state of this container.
`Dimension` | `preferredSize()` Deprecated. As of JDK version 1.1, replaced by `getPreferredSize()`.
`void` | `print(Graphics g)` Prints the container.
`void` | `printComponents(Graphics g)` Prints each of the components in this container.
`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.
`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` | `setFont(Font f)` Sets the font of this container.
`void` | `setLayout(LayoutManager mgr)` Sets the layout manager for this container.
`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).

Methods inherited from class java.awt.Component
`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAccessibleContext, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, 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

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

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

  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(int)`

### 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
  Since:
    JDK1.1
  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(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.

  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.
  Since:
    JDK1.1
  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.
  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)`

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

  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()`, `Component.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`.

### 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(java.awt.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(java.awt.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`
  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(java.awt.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(java.awt.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(java.awt.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)`

### 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)`

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

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

### getListeners

    public EventListener[] getListeners(Class listenerType)

  Return an array of all the listeners that were added to the Container with addXXXListener(), where XXX is the name of the `listenerType` argument. For example, to get all of the ContainerListener(s) for the given Container `c`, one would write:

       ContainerListener[] cls = (ContainerListener[])(c.getListeners(ContainerListener.class))

  If no such listener list exists, then an empty array is returned.
  Overrides:
    `getListeners` in class `Component`
  Parameters:
    `listenerType` - Type of listeners requested
  Returns:
    all of the listeners of the specified type supported by this container
  Since:
    1.3

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

### 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: a) A ContainerListener object is registered via addContainerListener() b) Container events are enabled via enableEvents()
  Parameters:
    `e` - the container event
  See Also:
    `Component.enableEvents(long)`

### 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`

### 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`

### addNotify

    public void addNotify()

  Makes this Container displayable by connecting it to a native screen resource. Making a container displayable will cause any 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. Make a container undisplayable will cause any 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 the parameter string representing the state of this container. This string is useful for debugging.
  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:
    JDK
  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`
  Following copied from class: `java.awt.Component`
  Parameters:
    `out` - The print writer to print to.
    `indent` - The number of spaces to indent.
  See Also:
    `PrintStream.println(java.lang.Object)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.