qflib 0.98.0

de.qfs.lib.gui
Class TableModelAdapter

java.lang.Object
  |
  +--de.qfs.lib.gui.TableModelAdapter
All Implemented Interfaces:
java.util.EventListener, javax.swing.table.TableModel, javax.swing.event.TableModelListener
Direct Known Subclasses:
FilteredAndSortedTableModel

public class TableModelAdapter
extends java.lang.Object
implements javax.swing.table.TableModel, javax.swing.event.TableModelListener

Built after the Adapter pattern, this class acts as the base for manipulators of TableModels which leave the original model undisturbed.

It implements the TableModel by wrapping itself around an existing TableModel and delegating all calls to it.

Additionally the TableModelListener interface in implemented in order to intercept TableModelEvents. This mechnism can be extended by derived classes to change the behaviour of the wrapped model.

Version:
$Revision: 1.6 $
Author:
Gregor Schmid

Field Summary
protected  java.util.Vector listeners
          The TableModelListeners registered with this model.
protected  javax.swing.table.TableModel model
          The original TableModel used for delegation.
 
Constructor Summary
TableModelAdapter(javax.swing.table.TableModel model)
          Create a new TableModelAdapter
 
Method Summary
 void addTableModelListener(javax.swing.event.TableModelListener listener)
          Add a listener to the model.
 java.lang.Class getColumnClass(int column)
          Return the lowest common denominator Class in a column.
 int getColumnCount()
          Get the number of columns in the table.
 java.lang.String getColumnName(int column)
          Return the name of a column.
 javax.swing.table.TableModel getModel()
          Get the wrapped model.
 int getRowCount()
          Get the number of rows in the table.
 java.lang.Object getValueAt(int row, int column)
          Return an attribute value for a cell.
 boolean isCellEditable(int row, int column)
          Return true if the a cell is editable.
 void removeTableModelListener(javax.swing.event.TableModelListener listener)
          Remove a listener from the model.
 void setModel(javax.swing.table.TableModel model)
          Set the wrapped model.
 void setValueAt(java.lang.Object value, int arow, int column)
          Set the attribute value for a cell.
 void tableChanged(javax.swing.event.TableModelEvent event)
          Called, when the wrapped model has changed in some way.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

model

protected javax.swing.table.TableModel model
The original TableModel used for delegation.

listeners

protected java.util.Vector listeners
The TableModelListeners registered with this model.
Constructor Detail

TableModelAdapter

public TableModelAdapter(javax.swing.table.TableModel model)
Create a new TableModelAdapter
Parameters:
model - The TableModel to wrap.
Method Detail

getModel

public javax.swing.table.TableModel getModel()
Get the wrapped model.
Returns:
The wrapped TableModel

setModel

public void setModel(javax.swing.table.TableModel model)
Set the wrapped model.
Parameters:
model - The new TableModel.

getValueAt

public java.lang.Object getValueAt(int row,
                                   int column)
Return an attribute value for a cell.
Specified by:
getValueAt in interface javax.swing.table.TableModel
Parameters:
row - The row whose value is to be looked up.
column - The column whose value is to be looked up.
Returns:
The value Object at the specified cell.

setValueAt

public void setValueAt(java.lang.Object value,
                       int arow,
                       int column)
Set the attribute value for a cell.
Specified by:
setValueAt in interface javax.swing.table.TableModel
Parameters:
value - The value to set.
row - The row whose value is to be set.
column - The column whose value is to be set.

getRowCount

public int getRowCount()
Get the number of rows in the table.
Specified by:
getRowCount in interface javax.swing.table.TableModel
Returns:
The number of rows.

getColumnCount

public int getColumnCount()
Get the number of columns in the table.
Specified by:
getColumnCount in interface javax.swing.table.TableModel
Returns:
The number of columns.

getColumnName

public java.lang.String getColumnName(int column)
Return the name of a column. This is used to initialize the table's column header name.
Specified by:
getColumnName in interface javax.swing.table.TableModel
Parameters:
column - The index of the column.
Returns:
The name of the column.

getColumnClass

public java.lang.Class getColumnClass(int column)
Return the lowest common denominator Class in a column. This is used by the table to set up a default renderer and editor for the column.
Specified by:
getColumnClass in interface javax.swing.table.TableModel
Parameters:
column - The index of the column.
Returns:
The common ancestor class of the object values in the model.

isCellEditable

public boolean isCellEditable(int row,
                              int column)
Return true if the a cell is editable. Otherwise, setValueAt() on the cell will not change the value of that cell.
Specified by:
isCellEditable in interface javax.swing.table.TableModel
Parameters:
row - The row whose value is to be looked up.
column - The column whose value is to be looked up.
Returns:
True if the cell is editable.
See Also:
setValueAt(java.lang.Object, int, int)

addTableModelListener

public void addTableModelListener(javax.swing.event.TableModelListener listener)
Add a listener to the model.
Specified by:
addTableModelListener in interface javax.swing.table.TableModel
Parameters:
listener - The TableModelListener to add.

removeTableModelListener

public void removeTableModelListener(javax.swing.event.TableModelListener listener)
Remove a listener from the model.
Specified by:
removeTableModelListener in interface javax.swing.table.TableModel
Parameters:
listener - The TableModelListener to remove.

tableChanged

public void tableChanged(javax.swing.event.TableModelEvent event)
Called, when the wrapped model has changed in some way. Forward the event to all registered TableModelListeners.
Specified by:
tableChanged in interface javax.swing.event.TableModelListener
Parameters:
event - The event that happened.

qflib 0.98.0