<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Tue Jun 29 06:00:41 GMT+01:00 1999 -->
<TITLE>
Swing 1.1 API Specification: Class  AbstractTableModel
</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/AbstractTableModel.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;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../javax/swing/table/DefaultTableCellRenderer.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="AbstractTableModel.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  AbstractTableModel</H2>
<PRE>
java.lang.Object
  |
  +--<B>javax.swing.table.AbstractTableModel</B>
</PRE>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../javax/swing/table/DefaultTableModel.html">DefaultTableModel</A></DD>
</DL>
<HR>
<DL>
<DT>public abstract class <B>AbstractTableModel</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../javax/swing/table/TableModel.html">TableModel</A>, java.io.Serializable</DL>

<P>
This abstract class provides default implementations for most of
  the methods in the <B>TableModel</B> interface. It takes care of
  the management of listners and provides some conveniences for generating
  TableModelEvents and dispatching them to the listeners.
  To create a concrete TableModel as a sublcass of
  AbstractTableModel you need only provide implementations for the
  following three methods:

  <pre>
  public int getRowCount();
  public int getColumnCount();
  public Object getValueAt(int row, int column);
  </pre>
 <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="../../../serialized-form.html#javax.swing.table.AbstractTableModel">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;<A HREF="../../../javax/swing/event/EventListenerList.html">EventListenerList</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/AbstractTableModel.html#listenerList">listenerList</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List of listeners</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/AbstractTableModel.html#AbstractTableModel()">AbstractTableModel</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/AbstractTableModel.html#addTableModelListener(javax.swing.event.TableModelListener)">addTableModelListener</A></B>(<A HREF="../../../javax/swing/event/TableModelListener.html">TableModelListener</A>&nbsp;l)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a listener to the list that's notified each time a change
 to the data model occurs.</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/AbstractTableModel.html#findColumn(java.lang.String)">findColumn</A></B>(java.lang.String&nbsp;columnName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method for locating columns by name.</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/AbstractTableModel.html#fireTableCellUpdated(int, int)">fireTableCellUpdated</A></B>(int&nbsp;row,
                     int&nbsp;column)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notify all listeners that the value of the cell at (row, column)
 has been updated.</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/AbstractTableModel.html#fireTableChanged(javax.swing.event.TableModelEvent)">fireTableChanged</A></B>(<A HREF="../../../javax/swing/event/TableModelEvent.html">TableModelEvent</A>&nbsp;e)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Forward the given notification event to all TableModelListeners that registered
 themselves as listeners for this table 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/AbstractTableModel.html#fireTableDataChanged()">fireTableDataChanged</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notify all listeners that all cell values in the table's rows may have changed.</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/AbstractTableModel.html#fireTableRowsDeleted(int, int)">fireTableRowsDeleted</A></B>(int&nbsp;firstRow,
                     int&nbsp;lastRow)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notify all listeners that rows in the (inclusive) range
 [<I>firstRow</I>, <I>lastRow</I>] have been deleted.</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/AbstractTableModel.html#fireTableRowsInserted(int, int)">fireTableRowsInserted</A></B>(int&nbsp;firstRow,
                      int&nbsp;lastRow)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notify all listeners that rows in the (inclusive) range
 [<I>firstRow</I>, <I>lastRow</I>] have been inserted.</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/AbstractTableModel.html#fireTableRowsUpdated(int, int)">fireTableRowsUpdated</A></B>(int&nbsp;firstRow,
                     int&nbsp;lastRow)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notify all listeners that rows in the (inclusive) range
 [<I>firstRow</I>, <I>lastRow</I>] have been updated.</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/AbstractTableModel.html#fireTableStructureChanged()">fireTableStructureChanged</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notify all listeners that the table's structure has changed.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/table/AbstractTableModel.html#getColumnClass(int)">getColumnClass</A></B>(int&nbsp;columnIndex)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns Object.class by default</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/AbstractTableModel.html#getColumnName(int)">getColumnName</A></B>(int&nbsp;column)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a default name for the column using spreadsheet conventions:
  A, B, C, ...</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/AbstractTableModel.html#isCellEditable(int, int)">isCellEditable</A></B>(int&nbsp;rowIndex,
               int&nbsp;columnIndex)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This default implementation returns false for all cells</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/AbstractTableModel.html#removeTableModelListener(javax.swing.event.TableModelListener)">removeTableModelListener</A></B>(<A HREF="../../../javax/swing/event/TableModelListener.html">TableModelListener</A>&nbsp;l)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove a listener from the list that's notified each time a
 change to the data model occurs.</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/AbstractTableModel.html#setValueAt(java.lang.Object, int, int)">setValueAt</A></B>(java.lang.Object&nbsp;aValue,
           int&nbsp;rowIndex,
           int&nbsp;columnIndex)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This empty implementation is provided so users don't have to implement
  this method if their data model is not editable.</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="listenerList"><!-- --></A><H3>
listenerList</H3>
<PRE>
protected <A HREF="../../../javax/swing/event/EventListenerList.html">EventListenerList</A> <B>listenerList</B></PRE>
<DL>
<DD>List of listeners</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="AbstractTableModel()"><!-- --></A><H3>
AbstractTableModel</H3>
<PRE>
public <B>AbstractTableModel</B>()</PRE>
<DL>
</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="getColumnName(int)"><!-- --></A><H3>
getColumnName</H3>
<PRE>
public java.lang.String <B>getColumnName</B>(int&nbsp;column)</PRE>
<DL>
<DD>Return a default name for the column using spreadsheet conventions:
  A, B, C, ... Z, AA, AB, etc.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/table/TableModel.html#getColumnName(int)">getColumnName</A> in interface <A HREF="../../../javax/swing/table/TableModel.html">TableModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="findColumn(java.lang.String)"><!-- --></A><H3>
findColumn</H3>
<PRE>
public int <B>findColumn</B>(java.lang.String&nbsp;columnName)</PRE>
<DL>
<DD>Convenience method for locating columns by name.
 Implementation is naive so this should be overridden if
 this method is to be called often. This method is not
 in the TableModel interface and is not used by the JTable.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getColumnClass(int)"><!-- --></A><H3>
getColumnClass</H3>
<PRE>
public java.lang.Class <B>getColumnClass</B>(int&nbsp;columnIndex)</PRE>
<DL>
<DD>Returns Object.class by default<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/table/TableModel.html#getColumnClass(int)">getColumnClass</A> in interface <A HREF="../../../javax/swing/table/TableModel.html">TableModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="isCellEditable(int, int)"><!-- --></A><H3>
isCellEditable</H3>
<PRE>
public boolean <B>isCellEditable</B>(int&nbsp;rowIndex,
                              int&nbsp;columnIndex)</PRE>
<DL>
<DD>This default implementation returns false for all cells<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/table/TableModel.html#isCellEditable(int, int)">isCellEditable</A> in interface <A HREF="../../../javax/swing/table/TableModel.html">TableModel</A></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;rowIndex,
                       int&nbsp;columnIndex)</PRE>
<DL>
<DD>This empty implementation is provided so users don't have to implement
  this method if their data model is not editable.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/table/TableModel.html#setValueAt(java.lang.Object, int, int)">setValueAt</A> in interface <A HREF="../../../javax/swing/table/TableModel.html">TableModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="addTableModelListener(javax.swing.event.TableModelListener)"><!-- --></A><H3>
addTableModelListener</H3>
<PRE>
public void <B>addTableModelListener</B>(<A HREF="../../../javax/swing/event/TableModelListener.html">TableModelListener</A>&nbsp;l)</PRE>
<DL>
<DD>Add a listener to the list that's notified each time a change
 to the data model occurs.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/table/TableModel.html#addTableModelListener(javax.swing.event.TableModelListener)">addTableModelListener</A> in interface <A HREF="../../../javax/swing/table/TableModel.html">TableModel</A><DT><B>Parameters:</B><DD><CODE>l</CODE> - the TableModelListener</DL>
</DD>
</DL>
<HR>

<A NAME="removeTableModelListener(javax.swing.event.TableModelListener)"><!-- --></A><H3>
removeTableModelListener</H3>
<PRE>
public void <B>removeTableModelListener</B>(<A HREF="../../../javax/swing/event/TableModelListener.html">TableModelListener</A>&nbsp;l)</PRE>
<DL>
<DD>Remove a listener from the list that's notified each time a
 change to the data model occurs.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/table/TableModel.html#removeTableModelListener(javax.swing.event.TableModelListener)">removeTableModelListener</A> in interface <A HREF="../../../javax/swing/table/TableModel.html">TableModel</A><DT><B>Parameters:</B><DD><CODE>l</CODE> - the TableModelListener</DL>
</DD>
</DL>
<HR>

<A NAME="fireTableDataChanged()"><!-- --></A><H3>
fireTableDataChanged</H3>
<PRE>
public void <B>fireTableDataChanged</B>()</PRE>
<DL>
<DD>Notify all listeners that all cell values in the table's rows may have changed.
 The number of rows may also have changed and the JTable should redraw the
 table from scratch. The structure of the table, ie. the order of the
 columns is assumed to be the same.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/event/TableModelEvent.html"><CODE>TableModelEvent</CODE></A>, 
<A HREF="../../../javax/swing/event/EventListenerList.html"><CODE>EventListenerList</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="fireTableStructureChanged()"><!-- --></A><H3>
fireTableStructureChanged</H3>
<PRE>
public void <B>fireTableStructureChanged</B>()</PRE>
<DL>
<DD>Notify all listeners that the table's structure has changed.
 The number of columns in the table, and the names and types of
 the new columns may be different from the previous state.
 If the JTable recieves this event and its <I>autoCreateColumnsFromModel</I>
 flag is set it discards any TableColumns that it had and reallocates
 default ones in the order they appear in the model. This is the
 same as calling <code>setModel(TableModel)</code> on the JTable.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/event/TableModelEvent.html"><CODE>TableModelEvent</CODE></A>, 
<A HREF="../../../javax/swing/event/EventListenerList.html"><CODE>EventListenerList</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="fireTableRowsInserted(int, int)"><!-- --></A><H3>
fireTableRowsInserted</H3>
<PRE>
public void <B>fireTableRowsInserted</B>(int&nbsp;firstRow,
                                  int&nbsp;lastRow)</PRE>
<DL>
<DD>Notify all listeners that rows in the (inclusive) range
 [<I>firstRow</I>, <I>lastRow</I>] have been inserted.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/event/TableModelEvent.html"><CODE>TableModelEvent</CODE></A>, 
<A HREF="../../../javax/swing/event/EventListenerList.html"><CODE>EventListenerList</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="fireTableRowsUpdated(int, int)"><!-- --></A><H3>
fireTableRowsUpdated</H3>
<PRE>
public void <B>fireTableRowsUpdated</B>(int&nbsp;firstRow,
                                 int&nbsp;lastRow)</PRE>
<DL>
<DD>Notify all listeners that rows in the (inclusive) range
 [<I>firstRow</I>, <I>lastRow</I>] have been updated.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/event/TableModelEvent.html"><CODE>TableModelEvent</CODE></A>, 
<A HREF="../../../javax/swing/event/EventListenerList.html"><CODE>EventListenerList</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="fireTableRowsDeleted(int, int)"><!-- --></A><H3>
fireTableRowsDeleted</H3>
<PRE>
public void <B>fireTableRowsDeleted</B>(int&nbsp;firstRow,
                                 int&nbsp;lastRow)</PRE>
<DL>
<DD>Notify all listeners that rows in the (inclusive) range
 [<I>firstRow</I>, <I>lastRow</I>] have been deleted.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/event/TableModelEvent.html"><CODE>TableModelEvent</CODE></A>, 
<A HREF="../../../javax/swing/event/EventListenerList.html"><CODE>EventListenerList</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="fireTableCellUpdated(int, int)"><!-- --></A><H3>
fireTableCellUpdated</H3>
<PRE>
public void <B>fireTableCellUpdated</B>(int&nbsp;row,
                                 int&nbsp;column)</PRE>
<DL>
<DD>Notify all listeners that the value of the cell at (row, column)
 has been updated.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/event/TableModelEvent.html"><CODE>TableModelEvent</CODE></A>, 
<A HREF="../../../javax/swing/event/EventListenerList.html"><CODE>EventListenerList</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="fireTableChanged(javax.swing.event.TableModelEvent)"><!-- --></A><H3>
fireTableChanged</H3>
<PRE>
public void <B>fireTableChanged</B>(<A HREF="../../../javax/swing/event/TableModelEvent.html">TableModelEvent</A>&nbsp;e)</PRE>
<DL>
<DD>Forward the given notification event to all TableModelListeners that registered
 themselves as listeners for this table model.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/table/AbstractTableModel.html#addTableModelListener(javax.swing.event.TableModelListener)"><CODE>addTableModelListener(javax.swing.event.TableModelListener)</CODE></A>, 
<A HREF="../../../javax/swing/event/TableModelEvent.html"><CODE>TableModelEvent</CODE></A>, 
<A HREF="../../../javax/swing/event/EventListenerList.html"><CODE>EventListenerList</CODE></A></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/AbstractTableModel.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;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../javax/swing/table/DefaultTableCellRenderer.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="AbstractTableModel.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>
