public abstract class AbstractTableModel extends Objectimplements TableModel , Serializable
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 JavaBeans™ has been added to the java.beans package. Please see XMLEncoder.
| Modifier and Type | Field and Description |
|---|---|
protected EventListenerList |
listenerList
List of listeners
|
| Constructor and Description |
|---|
AbstractTableModel()
|
| Modifier and Type | Method and Description |
|---|---|
void |
addTableModelListener(TableModelListener
Adds a listener to the list that's notified each time a change to the data model occurs.
|
int |
findColumn(String
Returns a column given its name.
|
void |
fireTableCellUpdated(int row, int column)
Notifies all listeners that the value of the cell at
[row, column] has been updated.
|
void |
fireTableChanged(TableModelEvent
Forwards the given notification event to all
TableModelListeners that registered themselves as listeners for this table model.
|
void |
fireTableDataChanged()
Notifies all listeners that all cell values in the table's rows may have changed.
|
void |
fireTableRowsDeleted(int firstRow, int lastRow)
Notifies all listeners that rows in the range
[firstRow, lastRow], inclusive, have been deleted.
|
void |
fireTableRowsInserted(int firstRow, int lastRow)
Notifies all listeners that rows in the range
[firstRow, lastRow], inclusive, have been inserted.
|
void |
fireTableRowsUpdated(int firstRow, int lastRow)
Notifies all listeners that rows in the range
[firstRow, lastRow], inclusive, have been updated.
|
void |
fireTableStructureChanged()
Notifies all listeners that the table's structure has changed.
|
Class |
getColumnClass(int columnIndex)
Returns
Object.class regardless of
columnIndex.
|
String |
getColumnName(int column)
Returns a default name for the column using spreadsheet conventions: A, B, C, ...
|
<T extends EventListener |
getListeners(Class
Returns an array of all the objects currently registered as
FooListeners upon this
AbstractTableModel.
|
TableModelListener |
getTableModelListeners()
Returns an array of all the table model listeners registered on this model.
|
boolean |
isCellEditable(int rowIndex, int columnIndex)
Returns false.
|
void |
removeTableModelListener(TableModelListener
Removes a listener from the list that's notified each time a change to the data model occurs.
|
void |
setValueAt(Object
This empty implementation is provided so users don't have to implement this method if their data model is not editable.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetColumnCount, getRowCount, getValueAtprotected EventListenerListlistenerList
public StringgetColumnName(int column)
column cannot be found, returns an empty string.
getColumnName in interface
TableModel
column - the column being queried
column
public int findColumn(StringcolumnName)
TableModel interface and is not used by the
JTable.
columnName - string containing name of column to be located
columnName, or -1 if not found
public Class<?> getColumnClass(int columnIndex)
Object.class regardless of
columnIndex.
getColumnClass in interface
TableModel
columnIndex - the column being queried
public boolean isCellEditable(int rowIndex,
int columnIndex)
isCellEditable in interface
TableModel
rowIndex - the row being queried
columnIndex - the column being queried
TableModel.setValueAt(java.lang.Object, int, int)
public void setValueAt(ObjectaValue, int rowIndex, int columnIndex)
setValueAt in interface
TableModel
aValue - value to assign to cell
rowIndex - row of cell
columnIndex - column of cell
TableModel.getValueAt(int, int) ,
TableModel.isCellEditable(int, int)
public void addTableModelListener(TableModelListenerl)
addTableModelListener in interface
TableModel
l - the TableModelListener
public void removeTableModelListener(TableModelListenerl)
removeTableModelListener in interface
TableModel
l - the TableModelListener
public TableModelListener[] getTableModelListeners()
TableModelListeners or an empty array if no table model listeners are currently registered
addTableModelListener(javax.swing.event.TableModelListener),
removeTableModelListener(javax.swing.event.TableModelListener)
public void fireTableDataChanged()
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.
public void fireTableStructureChanged()
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.
TableModelEvent,
EventListenerList
public void fireTableRowsInserted(int firstRow,
int lastRow)
[firstRow, lastRow], inclusive, have been inserted.
firstRow - the first row
lastRow - the last row
TableModelEvent,
EventListenerList
public void fireTableRowsUpdated(int firstRow,
int lastRow)
[firstRow, lastRow], inclusive, have been updated.
firstRow - the first row
lastRow - the last row
TableModelEvent,
EventListenerList
public void fireTableRowsDeleted(int firstRow,
int lastRow)
[firstRow, lastRow], inclusive, have been deleted.
firstRow - the first row
lastRow - the last row
TableModelEvent,
EventListenerList
public void fireTableCellUpdated(int row,
int column)
[row, column] has been updated.
row - row of cell which has been updated
column - column of cell which has been updated
TableModelEvent,
EventListenerList
public void fireTableChanged(TableModelEvente)
TableModelListeners that registered themselves as listeners for this table model.
e - the event to be forwarded
addTableModelListener(javax.swing.event.TableModelListener),
TableModelEvent,
EventListenerList
public <T extends EventListener> T[] getListeners(Class <T> listenerType)
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.
listenerType - the type of listeners requested; this parameter should specify an interface that descends from
java.util.EventListener
FooListeners on this component, or an empty array if no such listeners have been added
ClassCastException - if
listenerType doesn't specify a class or interface that implements
java.util.EventListener
getTableModelListeners()