<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Tue Jun 29 06:00:45 GMT+01:00 1999 -->
<TITLE>
Swing 1.1 API Specification: Class  DefaultTableModel
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="class-use/DefaultTableModel.html"><FONT ID="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../index-files/index-1.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Swing 1.1</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../javax/swing/table/DefaultTableColumnModel.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../javax/swing/table/JTableHeader.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="DefaultTableModel.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
javax.swing.table</FONT>
<BR>
Class  DefaultTableModel</H2>
<PRE>
java.lang.Object
  |
  +--<A HREF="../../../javax/swing/table/AbstractTableModel.html">javax.swing.table.AbstractTableModel</A>
        |
        +--<B>javax.swing.table.DefaultTableModel</B>
</PRE>
<HR>
<DL>
<DT>public class <B>DefaultTableModel</B><DT>extends <A HREF="../../../javax/swing/table/AbstractTableModel.html">AbstractTableModel</A><DT>implements java.io.Serializable</DL>

<P>
This is an implementation of TableModel that uses a Vector of Vectors
 to store the cell value objects.
 <p>
 <b>Note:</b><br>
 The DefaultTableModel's API contains the methods addColumn(),
 removeColumn(), but not methods to insert a column at an index
 nor methods to move the columns.  This is because JTable does
 not display the columns based on the order of the columns in
 this model.  So rearranging them here doesn't do much.  See
 the column ordering methods in TableColumnModel.
 <p>
 <strong>Warning:</strong>
 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.
<P>
<DL>
<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/TableModel.html"><CODE>TableModel</CODE></A>, 
<A HREF="../../../javax/swing/table/DefaultTableModel.html#getDataVector()"><CODE>getDataVector()</CODE></A>, <A HREF="../../../serialized-form.html#javax.swing.table.DefaultTableModel">Serialized Form</A></DL>
<HR>

<P>
<!-- ======== INNER CLASS SUMMARY ======== -->


<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Vector</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#columnIdentifiers">columnIdentifiers</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Vector of column identifiers</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Vector</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#dataVector">dataVector</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Vector of Vector of Object values</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_javax.swing.table.AbstractTableModel"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
<TD><B>Fields inherited from class javax.swing.table.<A HREF="../../../javax/swing/table/AbstractTableModel.html">AbstractTableModel</A></B></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><A HREF="../../../javax/swing/table/AbstractTableModel.html#listenerList">listenerList</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#DefaultTableModel()">DefaultTableModel</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a default DefaultTableModel which is a table of
  zero columns and zero rows.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#DefaultTableModel(int, int)">DefaultTableModel</A></B>(int&nbsp;numRows,
                  int&nbsp;numColumns)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a DefaultTableModel with <i>numRows</i> and
  <i>numColumns</i> of <b>null</b> object values.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#DefaultTableModel(java.lang.Object[][], java.lang.Object[])">DefaultTableModel</A></B>(java.lang.Object[][]&nbsp;data,
                  java.lang.Object[]&nbsp;columnNames)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a DefaultTableModel and initializes the table
  by passing <i>data</i> and <i>columnNames</i> to the setDataVector()
  method.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#DefaultTableModel(java.lang.Object[], int)">DefaultTableModel</A></B>(java.lang.Object[]&nbsp;columnNames,
                  int&nbsp;numRows)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a DefaultTableModel with as many columns as there are
  elements in <i>columnNames</i> and <i>numRows</i> of <b>null</b>
  object values.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#DefaultTableModel(java.util.Vector, int)">DefaultTableModel</A></B>(java.util.Vector&nbsp;columnNames,
                  int&nbsp;numRows)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a DefaultTableModel with as many columns as there are
  elements in <i>columnNames</i> and <i>numRows</i> of <b>null</b>
  object values.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#DefaultTableModel(java.util.Vector, java.util.Vector)">DefaultTableModel</A></B>(java.util.Vector&nbsp;data,
                  java.util.Vector&nbsp;columnNames)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a DefaultTableModel and initializes the table
  by passing <i>data</i> and <i>columnNames</i> to the setDataVector()
  method.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#addColumn(java.lang.Object)">addColumn</A></B>(java.lang.Object&nbsp;columnName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a column to the model.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#addColumn(java.lang.Object, java.lang.Object[])">addColumn</A></B>(java.lang.Object&nbsp;columnName,
          java.lang.Object[]&nbsp;columnData)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a column to the model with name <i>columnName</i>.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#addColumn(java.lang.Object, java.util.Vector)">addColumn</A></B>(java.lang.Object&nbsp;columnName,
          java.util.Vector&nbsp;columnData)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a column to the model.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#addRow(java.lang.Object[])">addRow</A></B>(java.lang.Object[]&nbsp;rowData)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a row to the end of the model.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#addRow(java.util.Vector)">addRow</A></B>(java.util.Vector&nbsp;rowData)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a row to the end of the model.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;java.util.Vector</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#convertToVector(java.lang.Object[])">convertToVector</A></B>(java.lang.Object[]&nbsp;anArray)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Vector that contains the same objects as the array</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;java.util.Vector</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#convertToVector(java.lang.Object[][])">convertToVector</A></B>(java.lang.Object[][]&nbsp;anArray)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Vector of Vectors that contains the same objects as the array</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#getColumnCount()">getColumnCount</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of columns in this data table.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#getColumnName(int)">getColumnName</A></B>(int&nbsp;column)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the column name.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Vector</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#getDataVector()">getDataVector</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This returns the Vector of Vectors that contains the table's
  data values.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#getRowCount()">getRowCount</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of rows in this data table.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#getValueAt(int, int)">getValueAt</A></B>(int&nbsp;row,
           int&nbsp;column)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an attribute value for the cell at <I>row</I>
 and <I>column</I>.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#insertRow(int, java.lang.Object[])">insertRow</A></B>(int&nbsp;row,
          java.lang.Object[]&nbsp;rowData)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert a row at <i>row</i> in the model.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#insertRow(int, java.util.Vector)">insertRow</A></B>(int&nbsp;row,
          java.util.Vector&nbsp;rowData)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert a row at <i>row</i> in the model.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#isCellEditable(int, int)">isCellEditable</A></B>(int&nbsp;row,
               int&nbsp;column)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the cell at <I>row</I> and <I>column</I>
 is editable.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#moveRow(int, int, int)">moveRow</A></B>(int&nbsp;startIndex,
        int&nbsp;endIndex,
        int&nbsp;toIndex)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Moves one or more rows starting at <i>startIndex</i> to <i>endIndex</i>
  in the model to the <i>toIndex</i>.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#newDataAvailable(javax.swing.event.TableModelEvent)">newDataAvailable</A></B>(<A HREF="../../../javax/swing/event/TableModelEvent.html">TableModelEvent</A>&nbsp;event)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Equivalent to fireTableChanged.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#newRowsAdded(javax.swing.event.TableModelEvent)">newRowsAdded</A></B>(<A HREF="../../../javax/swing/event/TableModelEvent.html">TableModelEvent</A>&nbsp;event)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method will make sure the new rows have the correct number of columns.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#removeRow(int)">removeRow</A></B>(int&nbsp;row)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the row at <i>row</i> from the model.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#rowsRemoved(javax.swing.event.TableModelEvent)">rowsRemoved</A></B>(<A HREF="../../../javax/swing/event/TableModelEvent.html">TableModelEvent</A>&nbsp;event)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Equivalent to fireTableChanged().</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#setColumnIdentifiers(java.lang.Object[])">setColumnIdentifiers</A></B>(java.lang.Object[]&nbsp;newIdentifiers)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replaces the column identifiers in the model.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#setColumnIdentifiers(java.util.Vector)">setColumnIdentifiers</A></B>(java.util.Vector&nbsp;newIdentifiers)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replaces the column identifiers in the model.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#setDataVector(java.lang.Object[][], java.lang.Object[])">setDataVector</A></B>(java.lang.Object[][]&nbsp;newData,
              java.lang.Object[]&nbsp;columnNames)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This replaces the value in the dataVector instance variable with the
  values in the array <i>newData</i>.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#setDataVector(java.util.Vector, java.util.Vector)">setDataVector</A></B>(java.util.Vector&nbsp;newData,
              java.util.Vector&nbsp;columnNames)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This replaces the current dataVector instance variable with the
  new Vector of rows, <i>newData</i>.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#setNumRows(int)">setNumRows</A></B>(int&nbsp;newSize)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the number of rows in the model.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/DefaultTableModel.html#setValueAt(java.lang.Object, int, int)">setValueAt</A></B>(java.lang.Object&nbsp;aValue,
           int&nbsp;row,
           int&nbsp;column)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the object value for the cell at <I>column</I> and
 <I>row</I>.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_javax.swing.table.AbstractTableModel"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
<TD><B>Methods inherited from class javax.swing.table.<A HREF="../../../javax/swing/table/AbstractTableModel.html">AbstractTableModel</A></B></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><A HREF="../../../javax/swing/table/AbstractTableModel.html#addTableModelListener(javax.swing.event.TableModelListener)">addTableModelListener</A>, 
<A HREF="../../../javax/swing/table/AbstractTableModel.html#findColumn(java.lang.String)">findColumn</A>, 
<A HREF="../../../javax/swing/table/AbstractTableModel.html#fireTableCellUpdated(int, int)">fireTableCellUpdated</A>, 
<A HREF="../../../javax/swing/table/AbstractTableModel.html#fireTableChanged(javax.swing.event.TableModelEvent)">fireTableChanged</A>, 
<A HREF="../../../javax/swing/table/AbstractTableModel.html#fireTableDataChanged()">fireTableDataChanged</A>, 
<A HREF="../../../javax/swing/table/AbstractTableModel.html#fireTableRowsDeleted(int, int)">fireTableRowsDeleted</A>, 
<A HREF="../../../javax/swing/table/AbstractTableModel.html#fireTableRowsInserted(int, int)">fireTableRowsInserted</A>, 
<A HREF="../../../javax/swing/table/AbstractTableModel.html#fireTableRowsUpdated(int, int)">fireTableRowsUpdated</A>, 
<A HREF="../../../javax/swing/table/AbstractTableModel.html#fireTableStructureChanged()">fireTableStructureChanged</A>, 
<A HREF="../../../javax/swing/table/AbstractTableModel.html#getColumnClass(int)">getColumnClass</A>, 
<A HREF="../../../javax/swing/table/AbstractTableModel.html#removeTableModelListener(javax.swing.event.TableModelListener)">removeTableModelListener</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE>clone, 
equals, 
finalize, 
getClass, 
hashCode, 
notify, 
notifyAll, 
toString, 
wait, 
wait, 
wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="dataVector"><!-- --></A><H3>
dataVector</H3>
<PRE>
protected java.util.Vector <B>dataVector</B></PRE>
<DL>
<DD>The Vector of Vector of Object values</DL>
<HR>

<A NAME="columnIdentifiers"><!-- --></A><H3>
columnIdentifiers</H3>
<PRE>
protected java.util.Vector <B>columnIdentifiers</B></PRE>
<DL>
<DD>The Vector of column identifiers</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="DefaultTableModel()"><!-- --></A><H3>
DefaultTableModel</H3>
<PRE>
public <B>DefaultTableModel</B>()</PRE>
<DL>
<DD>Constructs a default DefaultTableModel which is a table of
  zero columns and zero rows.</DL>
<HR>

<A NAME="DefaultTableModel(int, int)"><!-- --></A><H3>
DefaultTableModel</H3>
<PRE>
public <B>DefaultTableModel</B>(int&nbsp;numRows,
                         int&nbsp;numColumns)</PRE>
<DL>
<DD>Constructs a DefaultTableModel with <i>numRows</i> and
  <i>numColumns</i> of <b>null</b> object values.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>numRows</CODE> - The number of rows the table holds<DD><CODE>numColumns</CODE> - The number of columns the table holds<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/DefaultTableModel.html#setValueAt(java.lang.Object, int, int)"><CODE>setValueAt(java.lang.Object, int, int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="DefaultTableModel(java.util.Vector, int)"><!-- --></A><H3>
DefaultTableModel</H3>
<PRE>
public <B>DefaultTableModel</B>(java.util.Vector&nbsp;columnNames,
                         int&nbsp;numRows)</PRE>
<DL>
<DD>Constructs a DefaultTableModel with as many columns as there are
  elements in <i>columnNames</i> and <i>numRows</i> of <b>null</b>
  object values.  Each column's name will be taken from
  the <i>columnNames</i> vector.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>columnNames</CODE> - Vector containing the names of the new columns.
                          If this null then the model has no columns<DD><CODE>numRows</CODE> - The number of rows the table holds<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/DefaultTableModel.html#setDataVector(java.util.Vector, java.util.Vector)"><CODE>setDataVector(java.util.Vector, java.util.Vector)</CODE></A>, 
<A HREF="../../../javax/swing/table/DefaultTableModel.html#setValueAt(java.lang.Object, int, int)"><CODE>setValueAt(java.lang.Object, int, int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="DefaultTableModel(java.lang.Object[], int)"><!-- --></A><H3>
DefaultTableModel</H3>
<PRE>
public <B>DefaultTableModel</B>(java.lang.Object[]&nbsp;columnNames,
                         int&nbsp;numRows)</PRE>
<DL>
<DD>Constructs a DefaultTableModel with as many columns as there are
  elements in <i>columnNames</i> and <i>numRows</i> of <b>null</b>
  object values.  Each column's name will be taken from
  the <i>columnNames</i> array.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>columnNames</CODE> - Array containing the names of the new columns.
                          If this null then the model has no columns<DD><CODE>numRows</CODE> - The number of rows the table holds<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/DefaultTableModel.html#setDataVector(java.util.Vector, java.util.Vector)"><CODE>setDataVector(java.util.Vector, java.util.Vector)</CODE></A>, 
<A HREF="../../../javax/swing/table/DefaultTableModel.html#setValueAt(java.lang.Object, int, int)"><CODE>setValueAt(java.lang.Object, int, int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="DefaultTableModel(java.util.Vector, java.util.Vector)"><!-- --></A><H3>
DefaultTableModel</H3>
<PRE>
public <B>DefaultTableModel</B>(java.util.Vector&nbsp;data,
                         java.util.Vector&nbsp;columnNames)</PRE>
<DL>
<DD>Constructs a DefaultTableModel and initializes the table
  by passing <i>data</i> and <i>columnNames</i> to the setDataVector()
  method.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>data</CODE> - The data of the table<DD><CODE>columnNames</CODE> - Vector containing the names of the new columns.<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/DefaultTableModel.html#getDataVector()"><CODE>getDataVector()</CODE></A>, 
<A HREF="../../../javax/swing/table/DefaultTableModel.html#setDataVector(java.util.Vector, java.util.Vector)"><CODE>setDataVector(java.util.Vector, java.util.Vector)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="DefaultTableModel(java.lang.Object[][], java.lang.Object[])"><!-- --></A><H3>
DefaultTableModel</H3>
<PRE>
public <B>DefaultTableModel</B>(java.lang.Object[][]&nbsp;data,
                         java.lang.Object[]&nbsp;columnNames)</PRE>
<DL>
<DD>Constructs a DefaultTableModel and initializes the table
  by passing <i>data</i> and <i>columnNames</i> to the setDataVector()
  method. The first index in the Object[][] is the row index and
  the second is the column index.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>data</CODE> - The data of the table<DD><CODE>columnNames</CODE> - The names of the columns.<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/DefaultTableModel.html#getDataVector()"><CODE>getDataVector()</CODE></A>, 
<A HREF="../../../javax/swing/table/DefaultTableModel.html#setDataVector(java.util.Vector, java.util.Vector)"><CODE>setDataVector(java.util.Vector, java.util.Vector)</CODE></A></DL>
</DD>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="getDataVector()"><!-- --></A><H3>
getDataVector</H3>
<PRE>
public java.util.Vector <B>getDataVector</B>()</PRE>
<DL>
<DD>This returns the Vector of Vectors that contains the table's
  data values.  The vectors contained in the outer vector are
  each a single row of values.  In other words, to get to the cell
  at row 1, column 5 <p>

  <code>((Vector)getDataVector().elementAt(1)).elementAt(5);</code><p>

  You can directly alter the returned Vector.  You can change the cell
  values, the number of rows. If you need to alter the number of columns
  in the model, you can do so with addColumn(), removeColumn(), or
  the setDataVector() methods.  Once you have finished modifying the
  dataVector,  you <b>must</b> inform the model of the new data using
  one of the notification methods. The notification methods
  will generate the appropriate TableModelListener messages to notify
  the JTable and any other listeners of this model.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/DefaultTableModel.html#newDataAvailable(javax.swing.event.TableModelEvent)"><CODE>newDataAvailable(javax.swing.event.TableModelEvent)</CODE></A>, 
<A HREF="../../../javax/swing/table/DefaultTableModel.html#newRowsAdded(javax.swing.event.TableModelEvent)"><CODE>newRowsAdded(javax.swing.event.TableModelEvent)</CODE></A>, 
<A HREF="../../../javax/swing/table/DefaultTableModel.html#setDataVector(java.util.Vector, java.util.Vector)"><CODE>setDataVector(java.util.Vector, java.util.Vector)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setDataVector(java.util.Vector, java.util.Vector)"><!-- --></A><H3>
setDataVector</H3>
<PRE>
public void <B>setDataVector</B>(java.util.Vector&nbsp;newData,
                          java.util.Vector&nbsp;columnNames)</PRE>
<DL>
<DD>This replaces the current dataVector instance variable with the
  new Vector of rows, <i>newData</i>. <i>columnNames</i> are the names
  of the new columns.  The first name in <i>columnNames</i> is
  mapped to column 0 in <i>newData</i>. Each row in <i>newData</i>
  is adjusted to match the number of columns in <i>columnNames</i>
  either by truncating the Vector if it is too long, or adding
  null values if it is too short.
  <p><DD><DL>
<DT><B>Parameters:</B><DD><CODE>newData</CODE> - The new data vector<DD><CODE>columnNames</CODE> - The names of the columns<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/DefaultTableModel.html#newDataAvailable(javax.swing.event.TableModelEvent)"><CODE>newDataAvailable(javax.swing.event.TableModelEvent)</CODE></A>, 
<A HREF="../../../javax/swing/table/DefaultTableModel.html#getDataVector()"><CODE>getDataVector()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setDataVector(java.lang.Object[][], java.lang.Object[])"><!-- --></A><H3>
setDataVector</H3>
<PRE>
public void <B>setDataVector</B>(java.lang.Object[][]&nbsp;newData,
                          java.lang.Object[]&nbsp;columnNames)</PRE>
<DL>
<DD>This replaces the value in the dataVector instance variable with the
  values in the array <i>newData</i>.  The first index in the Object[][]
  array is the row index and the second is the column index.
  <i>columnNames</i> are the names of the new columns.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/DefaultTableModel.html#setDataVector(java.util.Vector, java.util.Vector)"><CODE>setDataVector(Vector, Vector)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="newDataAvailable(javax.swing.event.TableModelEvent)"><!-- --></A><H3>
newDataAvailable</H3>
<PRE>
public void <B>newDataAvailable</B>(<A HREF="../../../javax/swing/event/TableModelEvent.html">TableModelEvent</A>&nbsp;event)</PRE>
<DL>
<DD>Equivalent to fireTableChanged.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="newRowsAdded(javax.swing.event.TableModelEvent)"><!-- --></A><H3>
newRowsAdded</H3>
<PRE>
public void <B>newRowsAdded</B>(<A HREF="../../../javax/swing/event/TableModelEvent.html">TableModelEvent</A>&nbsp;event)</PRE>
<DL>
<DD>This method will make sure the new rows have the correct number of columns.
  It does so using the setSize method in Vector which truncates Vectors
  which are too long, and appends nulls if they are too short.
  This method also sends out a tableChanged() notification message
  to all the listeners.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/DefaultTableModel.html#getDataVector()"><CODE>getDataVector()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="rowsRemoved(javax.swing.event.TableModelEvent)"><!-- --></A><H3>
rowsRemoved</H3>
<PRE>
public void <B>rowsRemoved</B>(<A HREF="../../../javax/swing/event/TableModelEvent.html">TableModelEvent</A>&nbsp;event)</PRE>
<DL>
<DD>Equivalent to fireTableChanged().<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setColumnIdentifiers(java.util.Vector)"><!-- --></A><H3>
setColumnIdentifiers</H3>
<PRE>
public void <B>setColumnIdentifiers</B>(java.util.Vector&nbsp;newIdentifiers)</PRE>
<DL>
<DD>Replaces the column identifiers in the model.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>newIdentifiers</CODE> - Vector of column identifiers.  A null means
                          setting the model to zero columns<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/DefaultTableModel.html#setNumRows(int)"><CODE>setNumRows(int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setColumnIdentifiers(java.lang.Object[])"><!-- --></A><H3>
setColumnIdentifiers</H3>
<PRE>
public void <B>setColumnIdentifiers</B>(java.lang.Object[]&nbsp;newIdentifiers)</PRE>
<DL>
<DD>Replaces the column identifiers in the model.  If the number of
 <i>newIdentifiers</i> is greater than the current numColumns,
 new columns are added to the end of each row in the model.
 If the number of <i>newIdentifier</i> is less than the current
 number of columns, all the extra columns at the end of a row are
 discarded. <p><DD><DL>
<DT><B>Parameters:</B><DD><CODE>newIdentifiers</CODE> - Array of column identifiers.  A null means
                          setting the model to zero columns<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/DefaultTableModel.html#setNumRows(int)"><CODE>setNumRows(int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setNumRows(int)"><!-- --></A><H3>
setNumRows</H3>
<PRE>
public void <B>setNumRows</B>(int&nbsp;newSize)</PRE>
<DL>
<DD>Sets the number of rows in the model.  If the new size is greater
  than the current size, new rows are added to the end of the model
  If the new size is less than the current size, all
  rows at index <i>newSize</i> and greater are discarded. <p><DD><DL>
<DT><B>Parameters:</B><DD><CODE>newSize</CODE> - the new number of rows<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/DefaultTableModel.html#setColumnIdentifiers(java.util.Vector)"><CODE>setColumnIdentifiers(java.util.Vector)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="addColumn(java.lang.Object)"><!-- --></A><H3>
addColumn</H3>
<PRE>
public void <B>addColumn</B>(java.lang.Object&nbsp;columnName)</PRE>
<DL>
<DD>Add a column to the model.  The new column will have the
  idenitifier <i>columnName</i>.  This method will send a
  tableChanged() notification message to all the listeners.
  This method is a cover for <i>addColumn(Object, Vector)</i> which
  uses null as the data vector.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>columnName</CODE> - the identifier of the column being added<DT><B>Throws:</B><DD>java.lang.IllegalArgumentException - if columnName is null</DL>
</DD>
</DL>
<HR>

<A NAME="addColumn(java.lang.Object, java.util.Vector)"><!-- --></A><H3>
addColumn</H3>
<PRE>
public void <B>addColumn</B>(java.lang.Object&nbsp;columnName,
                      java.util.Vector&nbsp;columnData)</PRE>
<DL>
<DD>Add a column to the model.  The new column will have the
  idenitifier <i>columnName</i>.  <i>columnData</i> is the
  optional Vector of data for the column.  If it is <b>null</b>
  the column is filled with <b>null</b> values.  Otherwise,
  the new data will be added to model starting with the first
  element going to row 0, etc.  This method will send a
  tableChanged() notification message to all the listeners.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>columnName</CODE> - the identifier of the column being added<DD><CODE>columnData</CODE> - optional data of the column being added<DT><B>Throws:</B><DD>java.lang.IllegalArgumentException - if columnName is null</DL>
</DD>
</DL>
<HR>

<A NAME="addColumn(java.lang.Object, java.lang.Object[])"><!-- --></A><H3>
addColumn</H3>
<PRE>
public void <B>addColumn</B>(java.lang.Object&nbsp;columnName,
                      java.lang.Object[]&nbsp;columnData)</PRE>
<DL>
<DD>Adds a column to the model with name <i>columnName</i>.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/DefaultTableModel.html#addColumn(java.lang.Object, java.util.Vector)"><CODE>addColumn(Object, Vector)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="addRow(java.util.Vector)"><!-- --></A><H3>
addRow</H3>
<PRE>
public void <B>addRow</B>(java.util.Vector&nbsp;rowData)</PRE>
<DL>
<DD>Add a row to the end of the model.  The new row will contain
  <b>null</b> values unless <i>rowData</i> is specified.  Notification
  of the row being added will be generated.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>rowData</CODE> - optional data of the row being added</DL>
</DD>
</DL>
<HR>

<A NAME="addRow(java.lang.Object[])"><!-- --></A><H3>
addRow</H3>
<PRE>
public void <B>addRow</B>(java.lang.Object[]&nbsp;rowData)</PRE>
<DL>
<DD>Add a row to the end of the model.  The new row will contain
  <b>null</b> values unless <i>rowData</i> is specified.  Notification
  of the row being added will be generated.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>rowData</CODE> - optional data of the row being added</DL>
</DD>
</DL>
<HR>

<A NAME="insertRow(int, java.util.Vector)"><!-- --></A><H3>
insertRow</H3>
<PRE>
public void <B>insertRow</B>(int&nbsp;row,
                      java.util.Vector&nbsp;rowData)</PRE>
<DL>
<DD>Insert a row at <i>row</i> in the model.  The new row will contain
  <b>null</b> values unless <i>rowData</i> is specified.  Notification
  of the row being added will be generated.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>row</CODE> - the row index of the row to be inserted<DD><CODE>rowData</CODE> - optional data of the row being added<DT><B>Throws:</B><DD>ArrayIndexOutOfBoundsException - if the row was invalid.</DL>
</DD>
</DL>
<HR>

<A NAME="insertRow(int, java.lang.Object[])"><!-- --></A><H3>
insertRow</H3>
<PRE>
public void <B>insertRow</B>(int&nbsp;row,
                      java.lang.Object[]&nbsp;rowData)</PRE>
<DL>
<DD>Insert a row at <i>row</i> in the model.  The new row will contain
  <b>null</b> values unless <i>rowData</i> is specified.  Notification
  of the row being added will be generated.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>row</CODE> - the row index of the row to be inserted<DD><CODE>rowData</CODE> - optional data of the row being added<DT><B>Throws:</B><DD>ArrayIndexOutOfBoundsException - if the row was invalid.</DL>
</DD>
</DL>
<HR>

<A NAME="moveRow(int, int, int)"><!-- --></A><H3>
moveRow</H3>
<PRE>
public void <B>moveRow</B>(int&nbsp;startIndex,
                    int&nbsp;endIndex,
                    int&nbsp;toIndex)</PRE>
<DL>
<DD>Moves one or more rows starting at <i>startIndex</i> to <i>endIndex</i>
  in the model to the <i>toIndex</i>.    This method will send a
  tableChanged() notification message to all the listeners. <p>

  Examples of moves:<p>
  1. moveRow(1,3,5);<p>
          a|B|C|D|e|f|g|h|i|j|k   - before
          a|e|f|B|C|D|g|h|i|j|k   - after
  2. moveRow(6,7,1);<p>
          a|b|c|d|e|f|G|H|i|j|k   - before
          a|G|H|b|c|d|e|f|i|j|k   - after<DD><DL>
<DT><B>Parameters:</B><DD><CODE>startIndex</CODE> - the starting row index to be moved<DD><CODE>endIndex</CODE> - the ending row index to be moved<DD><CODE>toIndex</CODE> - the destination of the rows to be moved<DT><B>Throws:</B><DD>ArrayIndexOutOfBoundsException - if any of the indices are out of
                           range.  Or if endIndex is less than startIndex.</DL>
</DD>
</DL>
<HR>

<A NAME="removeRow(int)"><!-- --></A><H3>
removeRow</H3>
<PRE>
public void <B>removeRow</B>(int&nbsp;row)</PRE>
<DL>
<DD>Remove the row at <i>row</i> from the model.  Notification
  of the row being removed will be sent to all the listeners.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>row</CODE> - the row index of the row to be removed<DT><B>Throws:</B><DD>ArrayIndexOutOfBoundsException - if the row was invalid.</DL>
</DD>
</DL>
<HR>

<A NAME="getRowCount()"><!-- --></A><H3>
getRowCount</H3>
<PRE>
public int <B>getRowCount</B>()</PRE>
<DL>
<DD>Returns the number of rows in this data table.<DD><DL>
<DT><B>Returns:</B><DD>the number of rows in the model</DL>
</DD>
</DL>
<HR>

<A NAME="getColumnCount()"><!-- --></A><H3>
getColumnCount</H3>
<PRE>
public int <B>getColumnCount</B>()</PRE>
<DL>
<DD>Returns the number of columns in this data table.<DD><DL>
<DT><B>Returns:</B><DD>the number of columns in the model</DL>
</DD>
</DL>
<HR>

<A NAME="getColumnName(int)"><!-- --></A><H3>
getColumnName</H3>
<PRE>
public java.lang.String <B>getColumnName</B>(int&nbsp;column)</PRE>
<DL>
<DD>Returns the column name.<DD><DL>
<DT><B>Returns:</B><DD>a name for this column using the string value of the
 appropriate member in <I>columnIdentfiers</I>. If <I>columnIdentfiers</I>
 is null or does not have and entry for this index return the default
 name provided by the superclass.<DT><B>Overrides:</B><DD><A HREF="../../../javax/swing/table/AbstractTableModel.html#getColumnName(int)">getColumnName</A> in class <A HREF="../../../javax/swing/table/AbstractTableModel.html">AbstractTableModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="isCellEditable(int, int)"><!-- --></A><H3>
isCellEditable</H3>
<PRE>
public boolean <B>isCellEditable</B>(int&nbsp;row,
                              int&nbsp;column)</PRE>
<DL>
<DD>Returns true if the cell at <I>row</I> and <I>column</I>
 is editable.  Otherwise, the setValueAt() on the cell will not change
 the value of that cell.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>row</CODE> - the row whose value is to be looked up<DD><CODE>column</CODE> - the column whose value is to be looked up<DT><B>Returns:</B><DD>true if the cell is editable.<DT><B>Overrides:</B><DD><A HREF="../../../javax/swing/table/AbstractTableModel.html#isCellEditable(int, int)">isCellEditable</A> in class <A HREF="../../../javax/swing/table/AbstractTableModel.html">AbstractTableModel</A><DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/DefaultTableModel.html#setValueAt(java.lang.Object, int, int)"><CODE>setValueAt(java.lang.Object, int, int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getValueAt(int, int)"><!-- --></A><H3>
getValueAt</H3>
<PRE>
public java.lang.Object <B>getValueAt</B>(int&nbsp;row,
                                   int&nbsp;column)</PRE>
<DL>
<DD>Returns an attribute value for the cell at <I>row</I>
 and <I>column</I>.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>row</CODE> - the row whose value is to be looked up<DD><CODE>column</CODE> - the column whose value is to be looked up<DT><B>Returns:</B><DD>the value Object at the specified cell<DT><B>Throws:</B><DD>ArrayIndexOutOfBoundsException - if an invalid row or
               column was given.</DL>
</DD>
</DL>
<HR>

<A NAME="setValueAt(java.lang.Object, int, int)"><!-- --></A><H3>
setValueAt</H3>
<PRE>
public void <B>setValueAt</B>(java.lang.Object&nbsp;aValue,
                       int&nbsp;row,
                       int&nbsp;column)</PRE>
<DL>
<DD>Sets the object value for the cell at <I>column</I> and
 <I>row</I>.  <I>aValue</I> is the new value.  This method
 will generate a tableChanged() notification.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>aValue</CODE> - the new value.  This can be null.<DD><CODE>row</CODE> - the row whose value is to be changed<DD><CODE>column</CODE> - the column whose value is to be changed<DT><B>Throws:</B><DD>ArrayIndexOutOfBoundsException - if an invalid row or
               column was given.<DT><B>Overrides:</B><DD><A HREF="../../../javax/swing/table/AbstractTableModel.html#setValueAt(java.lang.Object, int, int)">setValueAt</A> in class <A HREF="../../../javax/swing/table/AbstractTableModel.html">AbstractTableModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="convertToVector(java.lang.Object[])"><!-- --></A><H3>
convertToVector</H3>
<PRE>
protected static java.util.Vector <B>convertToVector</B>(java.lang.Object[]&nbsp;anArray)</PRE>
<DL>
<DD>Returns a Vector that contains the same objects as the array<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="convertToVector(java.lang.Object[][])"><!-- --></A><H3>
convertToVector</H3>
<PRE>
protected static java.util.Vector <B>convertToVector</B>(java.lang.Object[][]&nbsp;anArray)</PRE>
<DL>
<DD>Returns a Vector of Vectors that contains the same objects as the array<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="class-use/DefaultTableModel.html"><FONT ID="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../index-files/index-1.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Swing 1.1</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../javax/swing/table/DefaultTableColumnModel.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../javax/swing/table/JTableHeader.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="DefaultTableModel.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<font size="-1"><a href="http://java.sun.com/cgi-bin/bugreport.cgi">Submit a bug or feature</a><br>Java is a trademark or registered trademark of Sun Microsystems,  Inc. in the US and other countries.<br>Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A.  All Rights Reserved.</font>
</BODY>
</HTML>
