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

## javax.swing
Class JTable.AccessibleJTable

    java.lang.Object
      |
      +--javax.accessibility.AccessibleContext
            |
            +--java.awt.Component.AccessibleAWTComponent
                  |
                  +--java.awt.Container.AccessibleAWTContainer
                        |
                        +--javax.swing.JComponent.AccessibleJComponent
                              |
                              +--javax.swing.JTable.AccessibleJTable

All Implemented Interfaces:
  AccessibleComponent, AccessibleSelection, AccessibleTable, CellEditorListener, EventListener, ListSelectionListener, PropertyChangeListener, Serializable, TableColumnModelListener, TableModelListener

Enclosing class:
  JTable

protected class JTable.AccessibleJTable
extends JComponent.AccessibleJComponent
implements AccessibleSelection, ListSelectionListener, TableModelListener, TableColumnModelListener, CellEditorListener, PropertyChangeListener, AccessibleTable

This class implements accessibility support for the `JTable` class. It provides an implementation of the Java Accessibility API appropriate to table user-interface elements.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. A future release of Swing will provide support for long term persistence.

See Also:
  Serialized Form

Inner Class Summary
`protected class` | `JTable.AccessibleJTable.AccessibleJTableCell` The class provides an implementation of the Java Accessibility API appropriate to table cells.
`protected class` | `JTable.AccessibleJTable.AccessibleJTableModelChange`

Inner classes inherited from class javax.swing.JComponent.AccessibleJComponent
`JComponent.AccessibleJComponent.AccessibleContainerHandler, JComponent.AccessibleJComponent.AccessibleFocusHandler`

Inner classes inherited from class java.awt.Container.AccessibleAWTContainer
`Container.AccessibleAWTContainer.AccessibleContainerHandler`

Inner classes inherited from class java.awt.Component.AccessibleAWTComponent
`Component.AccessibleAWTComponent.AccessibleAWTComponentHandler, Component.AccessibleAWTComponent.AccessibleAWTFocusHandler`

Fields inherited from class javax.swing.JComponent.AccessibleJComponent
`accessibleContainerHandler, accessibleFocusHandler`

Fields inherited from class java.awt.Component.AccessibleAWTComponent
`accessibleAWTComponentHandler, accessibleAWTFocusHandler`

Fields inherited from class javax.accessibility.AccessibleContext
`ACCESSIBLE_ACTION_PROPERTY, ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY, ACCESSIBLE_CARET_PROPERTY, ACCESSIBLE_CHILD_PROPERTY, ACCESSIBLE_DESCRIPTION_PROPERTY, ACCESSIBLE_NAME_PROPERTY, ACCESSIBLE_SELECTION_PROPERTY, ACCESSIBLE_STATE_PROPERTY, ACCESSIBLE_TABLE_CAPTION_CHANGED, ACCESSIBLE_TABLE_COLUMN_DESCRIPTION_CHANGED, ACCESSIBLE_TABLE_COLUMN_HEADER_CHANGED, ACCESSIBLE_TABLE_MODEL_CHANGED, ACCESSIBLE_TABLE_ROW_DESCRIPTION_CHANGED, ACCESSIBLE_TABLE_ROW_HEADER_CHANGED, ACCESSIBLE_TABLE_SUMMARY_CHANGED, ACCESSIBLE_TEXT_PROPERTY, ACCESSIBLE_VALUE_PROPERTY, ACCESSIBLE_VISIBLE_DATA_PROPERTY, accessibleDescription, accessibleName, accessibleParent`

Method Summary
`void` | `addAccessibleSelection(int i)` Adds the specified Accessible child of the object to the object's selection.
`void` | `clearAccessibleSelection()` Clears the selection in the object, so that no children in the object are selected.
`void` | `columnAdded(TableColumnModelEvent e)` Track changes to the table contents (column insertions)
`void` | `columnMarginChanged(ChangeEvent e)` Track changes of a column moving due to margin changes.
`void` | `columnMoved(TableColumnModelEvent e)` Track changes of a column repositioning.
`void` | `columnRemoved(TableColumnModelEvent e)` Track changes to the table contents (column deletions)
`void` | `columnSelectionChanged(ListSelectionEvent e)` Track that the selection model of the TableColumnModel changed.
`void` | `editingCanceled(ChangeEvent e)` Invoked when editing is canceled.
`void` | `editingStopped(ChangeEvent e)` Track changes to a cell's contents.
`Accessible` | `getAccessibleAt(int r, int c)` Returns the Accessible at a specified row and column in the table.
`Accessible` | `getAccessibleAt(Point p)` Returns the Accessible child, if one exists, contained at the local coordinate Point.
`Accessible` | `getAccessibleCaption()` Returns the caption for the table.
`Accessible` | `getAccessibleChild(int i)` Return the nth Accessible child of the object.
`int` | `getAccessibleChildrenCount()` Returns the number of accessible children in the object.
`int` | `getAccessibleColumnAtIndex(int i)`
`int` | `getAccessibleColumnCount()` Returns the number of columns in the table.
`Accessible` | `getAccessibleColumnDescription(int c)` Return the description of the specified column in the table.
`int` | `getAccessibleColumnExtentAt(int r, int c)` Returns the number of columns occupied by the Accessible at a given (row, column)
`AccessibleTable` | `getAccessibleColumnHeader()` Return the column headers as an AccessibleTable.
`int` | `getAccessibleIndexAt(int r, int c)` Returns the index at a given (row, column) in the table
`AccessibleRole` | `getAccessibleRole()` Gets the role of this object.
`int` | `getAccessibleRowAtIndex(int i)`
`int` | `getAccessibleRowCount()` Returns the number of rows in the table.
`Accessible` | `getAccessibleRowDescription(int r)` Return the description of the specified row in the table.
`int` | `getAccessibleRowExtentAt(int r, int c)` Returns the number of rows occupied by the Accessible at a specified row and column in the table.
`AccessibleTable` | `getAccessibleRowHeader()` Return the row headers as an AccessibleTable.
`AccessibleSelection` | `getAccessibleSelection()` Get the AccessibleSelection associated with this object.
`Accessible` | `getAccessibleSelection(int i)` Returns an Accessible representing the specified selected child in the object.
`int` | `getAccessibleSelectionCount()` Returns the number of Accessible children currently selected.
`Accessible` | `getAccessibleSummary()` Returns the summary description of the table.
`AccessibleTable` | `getAccessibleTable()` Get the AccessibleTable associated with this object.
`int[]` | `getSelectedAccessibleColumns()` Returns the selected columns in a table.
`int[]` | `getSelectedAccessibleRows()` Returns the selected rows in a table.
`boolean` | `isAccessibleChildSelected(int i)` Determines if the current child of this object is selected.
`boolean` | `isAccessibleColumnSelected(int c)` Returns a boolean value indicating whether the specified column is selected
`boolean` | `isAccessibleRowSelected(int r)` Returns a boolean value indicating whether the specified row is selected
`boolean` | `isAccessibleSelected(int r, int c)` Returns a boolean value indicating whether the accessible at a given (row, column) is selected
`void` | `propertyChange(PropertyChangeEvent e)` Track changes to selection model, column model, etc.
`void` | `removeAccessibleSelection(int i)` Removes the specified child of the object from the object's selection.
`void` | `selectAllAccessibleSelection()` Causes every child of the object to be selected, but only if the JTable supports multiple selections, and if individual cell selection is enabled.
`void` | `setAccessibleCaption(Accessible a)` Sets the caption for the table.
`void` | `setAccessibleColumnDescription(int c, Accessible a)` Sets the description text of the specified column of the table.
`void` | `setAccessibleColumnHeader(AccessibleTable a)` Return the column headers as an AccessibleTable.
`void` | `setAccessibleRowDescription(int r, Accessible a)` Sets the description text of the specified row of the table.
`void` | `setAccessibleRowHeader(AccessibleTable a)` Return the row headers as an AccessibleTable.
`void` | `setAccessibleSummary(Accessible a)` Sets the summary description of the table.
`void` | `tableChanged(TableModelEvent e)` Track changes to the table contents
`void` | `tableRowsDeleted(TableModelEvent e)` Track changes to the table contents (row deletions)
`void` | `tableRowsInserted(TableModelEvent e)` Track changes to the table contents (row insertions)
`void` | `valueChanged(ListSelectionEvent e)` Track changes to table cell selections

Methods inherited from class javax.swing.JComponent.AccessibleJComponent
`addPropertyChangeListener, getAccessibleDescription, getAccessibleName, getAccessibleStateSet, getBorderTitle, removePropertyChangeListener`

Methods inherited from class java.awt.Component.AccessibleAWTComponent
`addFocusListener, contains, getAccessibleComponent, getAccessibleIndexInParent, getAccessibleParent, getBackground, getBounds, getCursor, getFont, getFontMetrics, getForeground, getLocale, getLocation, getLocationOnScreen, getSize, isEnabled, isFocusTraversable, isShowing, isVisible, removeFocusListener, requestFocus, setBackground, setBounds, setCursor, setEnabled, setFont, setForeground, setLocation, setSize, setVisible`

Methods inherited from class javax.accessibility.AccessibleContext
`firePropertyChange, getAccessibleAction, getAccessibleIcon, getAccessibleRelationSet, getAccessibleText, getAccessibleValue, setAccessibleDescription, setAccessibleName, setAccessibleParent`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### propertyChange

    public void propertyChange(PropertyChangeEvent e)

  Track changes to selection model, column model, etc. so as to be able to re-place listeners on those in order to pass on information to the Accessibility PropertyChange mechanism
  Specified by:
    `propertyChange` in interface `PropertyChangeListener`
  Following copied from interface: `java.beans.PropertyChangeListener`
  Parameters:
    `evt` - A PropertyChangeEvent object describing the event source and the property that has changed.

### tableChanged

    public void tableChanged(TableModelEvent e)

  Track changes to the table contents
  Specified by:
    `tableChanged` in interface `TableModelListener`

### tableRowsInserted

    public void tableRowsInserted(TableModelEvent e)

  Track changes to the table contents (row insertions)

### tableRowsDeleted

    public void tableRowsDeleted(TableModelEvent e)

  Track changes to the table contents (row deletions)

### columnAdded

    public void columnAdded(TableColumnModelEvent e)

  Track changes to the table contents (column insertions)
  Specified by:
    `columnAdded` in interface `TableColumnModelListener`

### columnRemoved

    public void columnRemoved(TableColumnModelEvent e)

  Track changes to the table contents (column deletions)
  Specified by:
    `columnRemoved` in interface `TableColumnModelListener`

### columnMoved

    public void columnMoved(TableColumnModelEvent e)

  Track changes of a column repositioning.
  Specified by:
    `columnMoved` in interface `TableColumnModelListener`
  See Also:
    `TableColumnModelListener`

### columnMarginChanged

    public void columnMarginChanged(ChangeEvent e)

  Track changes of a column moving due to margin changes.
  Specified by:
    `columnMarginChanged` in interface `TableColumnModelListener`
  See Also:
    `TableColumnModelListener`

### columnSelectionChanged

    public void columnSelectionChanged(ListSelectionEvent e)

  Track that the selection model of the TableColumnModel changed.
  Specified by:
    `columnSelectionChanged` in interface `TableColumnModelListener`
  See Also:
    `TableColumnModelListener`

### editingStopped

    public void editingStopped(ChangeEvent e)

  Track changes to a cell's contents. Invoked when editing is finished. The changes are saved, the editor object is discarded, and the cell is rendered once again.
  Specified by:
    `editingStopped` in interface `CellEditorListener`
  See Also:
    `CellEditorListener`

### editingCanceled

    public void editingCanceled(ChangeEvent e)

  Invoked when editing is canceled. The editor object is discarded and the cell is rendered once again.
  Specified by:
    `editingCanceled` in interface `CellEditorListener`
  See Also:
    `CellEditorListener`

### valueChanged

    public void valueChanged(ListSelectionEvent e)

  Track changes to table cell selections
  Specified by:
    `valueChanged` in interface `ListSelectionListener`
  Following copied from interface: `javax.swing.event.ListSelectionListener`
  Parameters:
    `e` - the event that characterizes the change.

### getAccessibleSelection

    public AccessibleSelection getAccessibleSelection()

  Get the AccessibleSelection associated with this object. In the implementation of the Java Accessibility API for this class, return this object, which is responsible for implementing the AccessibleSelection interface on behalf of itself.
  Overrides:
    `getAccessibleSelection` in class `AccessibleContext`
  Returns:
    this object

### getAccessibleRole

    public AccessibleRole getAccessibleRole()

  Gets the role of this object.
  Overrides:
    `getAccessibleRole` in class `JComponent.AccessibleJComponent`
  Returns:
    an instance of AccessibleRole describing the role of the object
  See Also:
    `AccessibleRole`

### getAccessibleAt

    public Accessible getAccessibleAt(Point p)

  Returns the Accessible child, if one exists, contained at the local coordinate Point.
  Overrides:
    `getAccessibleAt` in class `Container.AccessibleAWTContainer`
  Parameters:
    `p` - the point defining the top-left corner of the Accessible, given in the coordinate space of the object's parent.
  Returns:
    the Accessible, if it exists, at the specified location; else null

### getAccessibleChildrenCount

    public int getAccessibleChildrenCount()

  Returns the number of accessible children in the object. If all of the children of this object implement Accessible, than this method should return the number of children of this object.
  Overrides:
    `getAccessibleChildrenCount` in class `JComponent.AccessibleJComponent`
  Returns:
    the number of accessible children in the object.

### getAccessibleChild

    public Accessible getAccessibleChild(int i)

  Return the nth Accessible child of the object.
  Overrides:
    `getAccessibleChild` in class `JComponent.AccessibleJComponent`
  Parameters:
    `i` - zero-based index of child
  Returns:
    the nth Accessible child of the object

### getAccessibleSelectionCount

    public int getAccessibleSelectionCount()

  Returns the number of Accessible children currently selected. If no children are selected, the return value will be 0.
  Specified by:
    `getAccessibleSelectionCount` in interface `AccessibleSelection`
  Returns:
    the number of items currently selected.

### getAccessibleSelection

    public Accessible getAccessibleSelection(int i)

  Returns an Accessible representing the specified selected child in the object. If there isn't a selection, or there are fewer children selected than the integer passed in, the return value will be null.

  Note that the index represents the i-th selected child, which is different from the i-th child.

  Specified by:
    `getAccessibleSelection` in interface `AccessibleSelection`
  Parameters:
    `i` - the zero-based index of selected children
  Returns:
    the i-th selected child
  See Also:
    `getAccessibleSelectionCount()`

### isAccessibleChildSelected

    public boolean isAccessibleChildSelected(int i)

  Determines if the current child of this object is selected.
  Specified by:
    `isAccessibleChildSelected` in interface `AccessibleSelection`
  Parameters:
    `i` - the zero-based index of the child in this Accessible object.
  Returns:
    true if the current child of this object is selected
  See Also:
    `AccessibleContext.getAccessibleChild(int)`

### addAccessibleSelection

    public void addAccessibleSelection(int i)

  Adds the specified Accessible child of the object to the object's selection. If the object supports multiple selections, the specified child is added to any existing selection, otherwise it replaces any existing selection in the object. If the specified child is already selected, this method has no effect. This method only works on JTables which have individual cell selection enabled.
  Specified by:
    `addAccessibleSelection` in interface `AccessibleSelection`
  Parameters:
    `i` - the zero-based index of the child
  See Also:
    `AccessibleContext.getAccessibleChild(int)`

### removeAccessibleSelection

    public void removeAccessibleSelection(int i)

  Removes the specified child of the object from the object's selection. If the specified item isn't currently selected, this method has no effect. This method only works on JTables which have individual cell selection enabled.
  Specified by:
    `removeAccessibleSelection` in interface `AccessibleSelection`
  Parameters:
    `i` - the zero-based index of the child
  See Also:
    `AccessibleContext.getAccessibleChild(int)`

### clearAccessibleSelection

    public void clearAccessibleSelection()

  Clears the selection in the object, so that no children in the object are selected.
  Specified by:
    `clearAccessibleSelection` in interface `AccessibleSelection`

### selectAllAccessibleSelection

    public void selectAllAccessibleSelection()

  Causes every child of the object to be selected, but only if the JTable supports multiple selections, and if individual cell selection is enabled.
  Specified by:
    `selectAllAccessibleSelection` in interface `AccessibleSelection`

### getAccessibleTable

    public AccessibleTable getAccessibleTable()

  Get the AccessibleTable associated with this object. In the implementation of the Java Accessibility API for this class, return this object, which is responsible for implementing the AccessibleTable interface on behalf of itself.
  Overrides:
    `getAccessibleTable` in class `AccessibleContext`
  Returns:
    this object

### getAccessibleCaption

    public Accessible getAccessibleCaption()

  Returns the caption for the table.
  Specified by:
    `getAccessibleCaption` in interface `AccessibleTable`
  Returns:
    the caption for the table

### setAccessibleCaption

    public void setAccessibleCaption(Accessible a)

  Sets the caption for the table.
  Specified by:
    `setAccessibleCaption` in interface `AccessibleTable`
  Parameters:
    `a` - the caption for the table

### getAccessibleSummary

    public Accessible getAccessibleSummary()

  Returns the summary description of the table.
  Specified by:
    `getAccessibleSummary` in interface `AccessibleTable`
  Returns:
    the summary description of the table

### setAccessibleSummary

    public void setAccessibleSummary(Accessible a)

  Sets the summary description of the table.
  Specified by:
    `setAccessibleSummary` in interface `AccessibleTable`
  Parameters:
    `a` - the summary description of the table

### getAccessibleRowCount

    public int getAccessibleRowCount()

  Description copied from interface: `AccessibleTable`
  Returns the number of rows in the table.
  Specified by:
    `getAccessibleRowCount` in interface `AccessibleTable`
  Following copied from interface: `javax.accessibility.AccessibleTable`
  Returns:
    the number of rows in the table

### getAccessibleColumnCount

    public int getAccessibleColumnCount()

  Description copied from interface: `AccessibleTable`
  Returns the number of columns in the table.
  Specified by:
    `getAccessibleColumnCount` in interface `AccessibleTable`
  Following copied from interface: `javax.accessibility.AccessibleTable`
  Returns:
    the number of columns in the table

### getAccessibleAt

    public Accessible getAccessibleAt(int r,
                                      int c)

  Description copied from interface: `AccessibleTable`
  Returns the Accessible at a specified row and column in the table.
  Specified by:
    `getAccessibleAt` in interface `AccessibleTable`
  Following copied from interface: `javax.accessibility.AccessibleTable`
  Parameters:
    `r` - zero-based row of the table
    `c` - zero-based column of the table
  Returns:
    the Accessible at the specified row and column

### getAccessibleRowExtentAt

    public int getAccessibleRowExtentAt(int r,
                                        int c)

  Returns the number of rows occupied by the Accessible at a specified row and column in the table.
  Specified by:
    `getAccessibleRowExtentAt` in interface `AccessibleTable`
  Returns:
    the number of rows occupied by the Accessible at a specified row and column in the table.

### getAccessibleColumnExtentAt

    public int getAccessibleColumnExtentAt(int r,
                                           int c)

  Returns the number of columns occupied by the Accessible at a given (row, column)
  Specified by:
    `getAccessibleColumnExtentAt` in interface `AccessibleTable`
  Returns:
    the number of columns occupied by the Accessible at a specified row and column in the table.

### getAccessibleRowHeader

    public AccessibleTable getAccessibleRowHeader()

  Return the row headers as an AccessibleTable.
  Specified by:
    `getAccessibleRowHeader` in interface `AccessibleTable`
  Returns:
    an AccessibleTable representing the row headers

### setAccessibleRowHeader

    public void setAccessibleRowHeader(AccessibleTable a)

  Return the row headers as an AccessibleTable.
  Specified by:
    `setAccessibleRowHeader` in interface `AccessibleTable`
  Returns:
    an AccessibleTable representing the row headers

### getAccessibleColumnHeader

    public AccessibleTable getAccessibleColumnHeader()

  Return the column headers as an AccessibleTable.
  Specified by:
    `getAccessibleColumnHeader` in interface `AccessibleTable`
  Returns:
    an AccessibleTable representing the column headers

### setAccessibleColumnHeader

    public void setAccessibleColumnHeader(AccessibleTable a)

  Return the column headers as an AccessibleTable.
  Specified by:
    `setAccessibleColumnHeader` in interface `AccessibleTable`
  Returns:
    an AccessibleTable representing the column headers

### getAccessibleRowDescription

    public Accessible getAccessibleRowDescription(int r)

  Return the description of the specified row in the table.
  Specified by:
    `getAccessibleRowDescription` in interface `AccessibleTable`
  Parameters:
    `r` - zero-based row of the table
  Returns:
    the description of the row

### setAccessibleRowDescription

    public void setAccessibleRowDescription(int r,
                                            Accessible a)

  Sets the description text of the specified row of the table.
  Specified by:
    `setAccessibleRowDescription` in interface `AccessibleTable`
  Parameters:
    `r` - zero-based row of the table
    `a` - the description of the row

### getAccessibleColumnDescription

    public Accessible getAccessibleColumnDescription(int c)

  Return the description of the specified column in the table.
  Specified by:
    `getAccessibleColumnDescription` in interface `AccessibleTable`
  Parameters:
    `c` - zero-based column of the table
  Returns:
    the description of the column

### setAccessibleColumnDescription

    public void setAccessibleColumnDescription(int c,
                                               Accessible a)

  Sets the description text of the specified column of the table.
  Specified by:
    `setAccessibleColumnDescription` in interface `AccessibleTable`
  Parameters:
    `c` - zero-based column of the table
    `a` - the description of the column

### isAccessibleSelected

    public boolean isAccessibleSelected(int r,
                                        int c)

  Returns a boolean value indicating whether the accessible at a given (row, column) is selected
  Specified by:
    `isAccessibleSelected` in interface `AccessibleTable`
  Parameters:
    `r` - zero-based row of the table
    `c` - zero-based column of the table
  Returns:
    the boolean value true if the accessible at (row, column) is selected. Otherwise, the boolean value false

### isAccessibleRowSelected

    public boolean isAccessibleRowSelected(int r)

  Returns a boolean value indicating whether the specified row is selected
  Specified by:
    `isAccessibleRowSelected` in interface `AccessibleTable`
  Parameters:
    `r` - zero-based row of the table
  Returns:
    the boolean value true if the specified row is selected. Otherwise, false.

### isAccessibleColumnSelected

    public boolean isAccessibleColumnSelected(int c)

  Returns a boolean value indicating whether the specified column is selected
  Specified by:
    `isAccessibleColumnSelected` in interface `AccessibleTable`
  Parameters:
    `r` - zero-based column of the table
  Returns:
    the boolean value true if the specified column is selected. Otherwise, false.

### getSelectedAccessibleRows

    public int[] getSelectedAccessibleRows()

  Returns the selected rows in a table.
  Specified by:
    `getSelectedAccessibleRows` in interface `AccessibleTable`
  Returns:
    an array of selected rows where each element is a zero-based row of the table

### getSelectedAccessibleColumns

    public int[] getSelectedAccessibleColumns()

  Returns the selected columns in a table.
  Specified by:
    `getSelectedAccessibleColumns` in interface `AccessibleTable`
  Returns:
    an array of selected columns where each element is a zero-based column of the table

### getAccessibleRowAtIndex

    public int getAccessibleRowAtIndex(int i)

### getAccessibleColumnAtIndex

    public int getAccessibleColumnAtIndex(int i)

### getAccessibleIndexAt

    public int getAccessibleIndexAt(int r,
                                    int c)

  Returns the index at a given (row, column) in the table
  Parameters:
    `r` - zero-based row of the table
    `c` - zero-based column of the table
  Returns:
    the index into the table

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.