javax.swing.table
Class AbstractTableModel

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by javax.swing.table.AbstractTableModel
All Implemented Interfaces:
Serializable sample code for java.io.Serializable definition code for java.io.Serializable , TableModel sample code for javax.swing.table.TableModel definition code for javax.swing.table.TableModel
Direct Known Subclasses:
DefaultTableModel sample code for javax.swing.table.DefaultTableModel definition code for javax.swing.table.DefaultTableModel

public abstract class AbstractTableModel
extends Object sample code for java.lang.Object definition code for java.lang.Object
implements TableModel sample code for javax.swing.table.TableModel definition code for javax.swing.table.TableModel , Serializable sample code for java.io.Serializable definition code for java.io.Serializable

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

  public int getRowCount();
  public int getColumnCount();
  public Object getValueAt(int row, int column);
  

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. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see XMLEncoder sample code for java.beans.XMLEncoder definition code for java.beans.XMLEncoder .

See Also:
Serialized Form

Field Summary
protected  EventListenerList sample code for javax.swing.event.EventListenerList definition code for javax.swing.event.EventListenerList listenerList sample code for javax.swing.table.AbstractTableModel.listenerList definition code for javax.swing.table.AbstractTableModel.listenerList
          List of listeners
 
Constructor Summary
AbstractTableModel sample code for javax.swing.table.AbstractTableModel.AbstractTableModel() definition code for javax.swing.table.AbstractTableModel.AbstractTableModel() ()
           
 
Method Summary
 void addTableModelListener sample code for javax.swing.table.AbstractTableModel.addTableModelListener(javax.swing.event.TableModelListener) definition code for javax.swing.table.AbstractTableModel.addTableModelListener(javax.swing.event.TableModelListener) (TableModelListener sample code for javax.swing.event.TableModelListener definition code for javax.swing.event.TableModelListener  l)
          Adds a listener to the list that's notified each time a change to the data model occurs.
 int findColumn sample code for javax.swing.table.AbstractTableModel.findColumn(java.lang.String) definition code for javax.swing.table.AbstractTableModel.findColumn(java.lang.String) (String sample code for java.lang.String definition code for java.lang.String  columnName)
          Returns a column given its name.
 void fireTableCellUpdated sample code for javax.swing.table.AbstractTableModel.fireTableCellUpdated(int, int) definition code for javax.swing.table.AbstractTableModel.fireTableCellUpdated(int, int) (int row, int column)
          Notifies all listeners that the value of the cell at [row, column] has been updated.
 void fireTableChanged sample code for javax.swing.table.AbstractTableModel.fireTableChanged(javax.swing.event.TableModelEvent) definition code for javax.swing.table.AbstractTableModel.fireTableChanged(javax.swing.event.TableModelEvent) (TableModelEvent sample code for javax.swing.event.TableModelEvent definition code for javax.swing.event.TableModelEvent  e)
          Forwards the given notification event to all TableModelListeners that registered themselves as listeners for this table model.
 void fireTableDataChanged sample code for javax.swing.table.AbstractTableModel.fireTableDataChanged() definition code for javax.swing.table.AbstractTableModel.fireTableDataChanged() ()
          Notifies all listeners that all cell values in the table's rows may have changed.
 void fireTableRowsDeleted sample code for javax.swing.table.AbstractTableModel.fireTableRowsDeleted(int, int) definition code for javax.swing.table.AbstractTableModel.fireTableRowsDeleted(int, int) (int firstRow, int lastRow)
          Notifies all listeners that rows in the range [firstRow, lastRow], inclusive, have been deleted.
 void fireTableRowsInserted sample code for javax.swing.table.AbstractTableModel.fireTableRowsInserted(int, int) definition code for javax.swing.table.AbstractTableModel.fireTableRowsInserted(int, int) (int firstRow, int lastRow)
          Notifies all listeners that rows in the range [firstRow, lastRow], inclusive, have been inserted.
 void fireTableRowsUpdated sample code for javax.swing.table.AbstractTableModel.fireTableRowsUpdated(int, int) definition code for javax.swing.table.AbstractTableModel.fireTableRowsUpdated(int, int) (int firstRow, int lastRow)
          Notifies all listeners that rows in the range [firstRow, lastRow], inclusive, have been updated.
 void fireTableStructureChanged sample code for javax.swing.table.AbstractTableModel.fireTableStructureChanged() definition code for javax.swing.table.AbstractTableModel.fireTableStructureChanged() ()
          Notifies all listeners that the table's structure has changed.
 Class sample code for java.lang.Class definition code for java.lang.Class <?> getColumnClass sample code for javax.swing.table.AbstractTableModel.getColumnClass(int) definition code for javax.swing.table.AbstractTableModel.getColumnClass(int) (int columnIndex)
          Returns Object.class regardless of columnIndex.
 String sample code for java.lang.String definition code for java.lang.String getColumnName sample code for javax.swing.table.AbstractTableModel.getColumnName(int) definition code for javax.swing.table.AbstractTableModel.getColumnName(int) (int column)
          Returns a default name for the column using spreadsheet conventions: A, B, C, ...
<T extends EventListener sample code for java.util.EventListener definition code for java.util.EventListener >
T[]
getListeners sample code for javax.swing.table.AbstractTableModel.getListeners(java.lang.Class) definition code for javax.swing.table.AbstractTableModel.getListeners(java.lang.Class) (Class sample code for java.lang.Class definition code for java.lang.Class <T> listenerType)
          Returns an array of all the objects currently registered as FooListeners upon this AbstractTableModel.
 TableModelListener sample code for javax.swing.event.TableModelListener definition code for javax.swing.event.TableModelListener [] getTableModelListeners sample code for javax.swing.table.AbstractTableModel.getTableModelListeners() definition code for javax.swing.table.AbstractTableModel.getTableModelListeners() ()
          Returns an array of all the table model listeners registered on this model.
 boolean isCellEditable sample code for javax.swing.table.AbstractTableModel.isCellEditable(int, int) definition code for javax.swing.table.AbstractTableModel.isCellEditable(int, int) (int rowIndex, int columnIndex)
          Returns false.
 void removeTableModelListener sample code for javax.swing.table.AbstractTableModel.removeTableModelListener(javax.swing.event.TableModelListener) definition code for javax.swing.table.AbstractTableModel.removeTableModelListener(javax.swing.event.TableModelListener) (TableModelListener sample code for javax.swing.event.TableModelListener definition code for javax.swing.event.TableModelListener  l)
          Removes a listener from the list that's notified each time a change to the data model occurs.
 void setValueAt sample code for javax.swing.table.AbstractTableModel.setValueAt(java.lang.Object, int, int) definition code for javax.swing.table.AbstractTableModel.setValueAt(java.lang.Object, int, int) (Object sample code for java.lang.Object definition code for java.lang.Object  aValue, int rowIndex, int columnIndex)
          This empty implementation is provided so users don't have to implement this method if their data model is not editable.
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() , equals sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) , finalize sample code for java.lang.Object.finalize() definition code for java.lang.Object.finalize() , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , hashCode sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , toString sample code for java.lang.Object.toString() definition code for java.lang.Object.toString() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 
Methods inherited from interface javax.swing.table.TableModel sample code for javax.swing.table.TableModel definition code for javax.swing.table.TableModel
getColumnCount sample code for javax.swing.table.TableModel.getColumnCount() definition code for javax.swing.table.TableModel.getColumnCount() , getRowCount sample code for javax.swing.table.TableModel.getRowCount() definition code for javax.swing.table.TableModel.getRowCount() , getValueAt sample code for javax.swing.table.TableModel.getValueAt(int, int) definition code for javax.swing.table.TableModel.getValueAt(int, int)
 

Field Detail

listenerList sample code for javax.swing.table.AbstractTableModel.listenerList

protected EventListenerList sample code for javax.swing.event.EventListenerList definition code for javax.swing.event.EventListenerList  listenerList
List of listeners

Constructor Detail

AbstractTableModel sample code for javax.swing.table.AbstractTableModel() definition code for javax.swing.table.AbstractTableModel()

public AbstractTableModel()
Method Detail

getColumnName sample code for javax.swing.table.AbstractTableModel.getColumnName(int) definition code for javax.swing.table.AbstractTableModel.getColumnName(int)

public String sample code for java.lang.String definition code for java.lang.String  getColumnName(int column)
Returns a default name for the column using spreadsheet conventions: A, B, C, ... Z, AA, AB, etc. If column cannot be found, returns an empty string.

Specified by:
getColumnName sample code for javax.swing.table.TableModel.getColumnName(int) definition code for javax.swing.table.TableModel.getColumnName(int) in interface TableModel sample code for javax.swing.table.TableModel definition code for javax.swing.table.TableModel
Parameters:
column - the column being queried
Returns:
a string containing the default name of column

findColumn sample code for javax.swing.table.AbstractTableModel.findColumn(java.lang.String) definition code for javax.swing.table.AbstractTableModel.findColumn(java.lang.String)

public int findColumn(String sample code for java.lang.String definition code for java.lang.String  columnName)
Returns a column given its 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.

Parameters:
columnName - string containing name of column to be located
Returns:
the column with columnName, or -1 if not found

getColumnClass sample code for javax.swing.table.AbstractTableModel.getColumnClass(int) definition code for javax.swing.table.AbstractTableModel.getColumnClass(int)

public Class sample code for java.lang.Class definition code for java.lang.Class <?> getColumnClass(int columnIndex)
Returns Object.class regardless of columnIndex.

Specified by:
getColumnClass sample code for javax.swing.table.TableModel.getColumnClass(int) definition code for javax.swing.table.TableModel.getColumnClass(int) in interface TableModel sample code for javax.swing.table.TableModel definition code for javax.swing.table.TableModel
Parameters:
columnIndex - the column being queried
Returns:
the Object.class

isCellEditable sample code for javax.swing.table.AbstractTableModel.isCellEditable(int, int) definition code for javax.swing.table.AbstractTableModel.isCellEditable(int, int)

public boolean isCellEditable(int rowIndex,
                              int columnIndex)
Returns false. This is the default implementation for all cells.

Specified by:
isCellEditable sample code for javax.swing.table.TableModel.isCellEditable(int, int) definition code for javax.swing.table.TableModel.isCellEditable(int, int) in interface TableModel sample code for javax.swing.table.TableModel definition code for javax.swing.table.TableModel
Parameters:
rowIndex - the row being queried
columnIndex - the column being queried
Returns:
false
See Also:
TableModel.setValueAt(java.lang.Object, int, int) sample code for javax.swing.table.TableModel.setValueAt(java.lang.Object, int, int) definition code for javax.swing.table.TableModel.setValueAt(java.lang.Object, int, int)

setValueAt sample code for javax.swing.table.AbstractTableModel.setValueAt(java.lang.Object, int, int) definition code for javax.swing.table.AbstractTableModel.setValueAt(java.lang.Object, int, int)

public void setValueAt(Object sample code for java.lang.Object definition code for java.lang.Object  aValue,
                       int rowIndex,
                       int columnIndex)
This empty implementation is provided so users don't have to implement this method if their data model is not editable.

Specified by:
setValueAt sample code for javax.swing.table.TableModel.setValueAt(java.lang.Object, int, int) definition code for javax.swing.table.TableModel.setValueAt(java.lang.Object, int, int) in interface TableModel sample code for javax.swing.table.TableModel definition code for javax.swing.table.TableModel
Parameters:
aValue - value to assign to cell
rowIndex - row of cell
columnIndex - column of cell
See Also:
TableModel.getValueAt(int, int) sample code for javax.swing.table.TableModel.getValueAt(int, int) definition code for javax.swing.table.TableModel.getValueAt(int, int) , TableModel.isCellEditable(int, int) sample code for javax.swing.table.TableModel.isCellEditable(int, int) definition code for javax.swing.table.TableModel.isCellEditable(int, int)

addTableModelListener sample code for javax.swing.table.AbstractTableModel.addTableModelListener(javax.swing.event.TableModelListener) definition code for javax.swing.table.AbstractTableModel.addTableModelListener(javax.swing.event.TableModelListener)

public void addTableModelListener(TableModelListener sample code for javax.swing.event.TableModelListener definition code for javax.swing.event.TableModelListener  l)
Adds a listener to the list that's notified each time a change to the data model occurs.

Specified by:
addTableModelListener sample code for javax.swing.table.TableModel.addTableModelListener(javax.swing.event.TableModelListener) definition code for javax.swing.table.TableModel.addTableModelListener(javax.swing.event.TableModelListener) in interface TableModel sample code for javax.swing.table.TableModel definition code for javax.swing.table.TableModel
Parameters:
l - the TableModelListener

removeTableModelListener sample code for javax.swing.table.AbstractTableModel.removeTableModelListener(javax.swing.event.TableModelListener) definition code for javax.swing.table.AbstractTableModel.removeTableModelListener(javax.swing.event.TableModelListener)

public void removeTableModelListener(TableModelListener sample code for javax.swing.event.TableModelListener definition code for javax.swing.event.TableModelListener  l)
Removes a listener from the list that's notified each time a change to the data model occurs.

Specified by:
removeTableModelListener sample code for javax.swing.table.TableModel.removeTableModelListener(javax.swing.event.TableModelListener) definition code for javax.swing.table.TableModel.removeTableModelListener(javax.swing.event.TableModelListener) in interface TableModel sample code for javax.swing.table.TableModel definition code for javax.swing.table.TableModel
Parameters:
l - the TableModelListener

getTableModelListeners sample code for javax.swing.table.AbstractTableModel.getTableModelListeners() definition code for javax.swing.table.AbstractTableModel.getTableModelListeners()

public TableModelListener sample code for javax.swing.event.TableModelListener definition code for javax.swing.event.TableModelListener [] getTableModelListeners()
Returns an array of all the table model listeners registered on this model.

Returns:
all of this model's TableModelListeners or an empty array if no table model listeners are currently registered
Since:
1.4
See Also:
addTableModelListener(javax.swing.event.TableModelListener) sample code for javax.swing.table.AbstractTableModel.addTableModelListener(javax.swing.event.TableModelListener) definition code for javax.swing.table.AbstractTableModel.addTableModelListener(javax.swing.event.TableModelListener) , removeTableModelListener(javax.swing.event.TableModelListener) sample code for javax.swing.table.AbstractTableModel.removeTableModelListener(javax.swing.event.TableModelListener) definition code for javax.swing.table.AbstractTableModel.removeTableModelListener(javax.swing.event.TableModelListener)

fireTableDataChanged sample code for javax.swing.table.AbstractTableModel.fireTableDataChanged() definition code for javax.swing.table.AbstractTableModel.fireTableDataChanged()

public void fireTableDataChanged()
Notifies 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 (as in the order of the columns) is assumed to be the same.

See Also:
TableModelEvent sample code for javax.swing.event.TableModelEvent definition code for javax.swing.event.TableModelEvent , EventListenerList sample code for javax.swing.event.EventListenerList definition code for javax.swing.event.EventListenerList , JTable.tableChanged(TableModelEvent) sample code for javax.swing.JTable.tableChanged(javax.swing.event.TableModelEvent) definition code for javax.swing.JTable.tableChanged(javax.swing.event.TableModelEvent)

fireTableStructureChanged sample code for javax.swing.table.AbstractTableModel.fireTableStructureChanged() definition code for javax.swing.table.AbstractTableModel.fireTableStructureChanged()

public void fireTableStructureChanged()
Notifies 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 receives this event and its autoCreateColumnsFromModel flag is set it discards any table columns that it had and reallocates default columns in the order they appear in the model. This is the same as calling setModel(TableModel) on the JTable.

See Also:
TableModelEvent sample code for javax.swing.event.TableModelEvent definition code for javax.swing.event.TableModelEvent , EventListenerList sample code for javax.swing.event.EventListenerList definition code for javax.swing.event.EventListenerList

fireTableRowsInserted sample code for javax.swing.table.AbstractTableModel.fireTableRowsInserted(int, int) definition code for javax.swing.table.AbstractTableModel.fireTableRowsInserted(int, int)

public void fireTableRowsInserted(int firstRow,
                                  int lastRow)
Notifies all listeners that rows in the range [firstRow, lastRow], inclusive, have been inserted.

Parameters:
firstRow - the first row
lastRow - the last row
See Also:
TableModelEvent sample code for javax.swing.event.TableModelEvent definition code for javax.swing.event.TableModelEvent , EventListenerList sample code for javax.swing.event.EventListenerList definition code for javax.swing.event.EventListenerList

fireTableRowsUpdated sample code for javax.swing.table.AbstractTableModel.fireTableRowsUpdated(int, int) definition code for javax.swing.table.AbstractTableModel.fireTableRowsUpdated(int, int)

public void fireTableRowsUpdated(int firstRow,
                                 int lastRow)
Notifies all listeners that rows in the range [firstRow, lastRow], inclusive, have been updated.

Parameters:
firstRow - the first row
lastRow - the last row
See Also:
TableModelEvent sample code for javax.swing.event.TableModelEvent definition code for javax.swing.event.TableModelEvent , EventListenerList sample code for javax.swing.event.EventListenerList definition code for javax.swing.event.EventListenerList

fireTableRowsDeleted sample code for javax.swing.table.AbstractTableModel.fireTableRowsDeleted(int, int) definition code for javax.swing.table.AbstractTableModel.fireTableRowsDeleted(int, int)

public void fireTableRowsDeleted(int firstRow,
                                 int lastRow)
Notifies all listeners that rows in the range [firstRow, lastRow], inclusive, have been deleted.

Parameters:
firstRow - the first row
lastRow - the last row
See Also:
TableModelEvent sample code for javax.swing.event.TableModelEvent definition code for javax.swing.event.TableModelEvent , EventListenerList sample code for javax.swing.event.EventListenerList definition code for javax.swing.event.EventListenerList

fireTableCellUpdated sample code for javax.swing.table.AbstractTableModel.fireTableCellUpdated(int, int) definition code for javax.swing.table.AbstractTableModel.fireTableCellUpdated(int, int)

public void fireTableCellUpdated(int row,
                                 int column)
Notifies all listeners that the value of the cell at [row, column] has been updated.

Parameters:
row - row of cell which has been updated
column - column of cell which has been updated
See Also:
TableModelEvent sample code for javax.swing.event.TableModelEvent definition code for javax.swing.event.TableModelEvent , EventListenerList sample code for javax.swing.event.EventListenerList definition code for javax.swing.event.EventListenerList

fireTableChanged sample code for javax.swing.table.AbstractTableModel.fireTableChanged(javax.swing.event.TableModelEvent) definition code for javax.swing.table.AbstractTableModel.fireTableChanged(javax.swing.event.TableModelEvent)

public void fireTableChanged(TableModelEvent sample code for javax.swing.event.TableModelEvent definition code for javax.swing.event.TableModelEvent  e)
Forwards the given notification event to all TableModelListeners that registered themselves as listeners for this table model.

Parameters:
e - the event to be forwarded
See Also:
addTableModelListener(javax.swing.event.TableModelListener) sample code for javax.swing.table.AbstractTableModel.addTableModelListener(javax.swing.event.TableModelListener) definition code for javax.swing.table.AbstractTableModel.addTableModelListener(javax.swing.event.TableModelListener) , TableModelEvent sample code for javax.swing.event.TableModelEvent definition code for javax.swing.event.TableModelEvent , EventListenerList sample code for javax.swing.event.EventListenerList definition code for javax.swing.event.EventListenerList

getListeners sample code for javax.swing.table.AbstractTableModel.<T extends java.util.EventListener>getListeners(java.lang.Class<T>) definition code for javax.swing.table.AbstractTableModel.<T extends java.util.EventListener>getListeners(java.lang.Class<T>)

public <T extends EventListener sample code for java.util.EventListener definition code for java.util.EventListener > T[] getListeners(Class sample code for java.lang.Class definition code for java.lang.Class <T> listenerType)
Returns an array of all the objects currently registered as FooListeners upon this AbstractTableModel. FooListeners are registered using the addFooListener method.

You can specify the listenerType argument with a class literal, such as FooListener.class. For example, you can query a model m for its table model listeners with the following code:

TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));
If no such listeners exist, this method returns an empty array.

Parameters:
listenerType - the type of listeners requested; this parameter should specify an interface that descends from java.util.EventListener
Returns:
an array of all objects registered as FooListeners on this component, or an empty array if no such listeners have been added
Throws:
ClassCastException sample code for java.lang.ClassCastException definition code for java.lang.ClassCastException - if listenerType doesn't specify a class or interface that implements java.util.EventListener
Since:
1.3
See Also:
getTableModelListeners() sample code for javax.swing.table.AbstractTableModel.getTableModelListeners() definition code for javax.swing.table.AbstractTableModel.getTableModelListeners()