com.taco.swinger.table
Class FastTableModel

java.lang.Object
  extended by javax.swing.table.AbstractTableModel
      extended by javax.swing.table.DefaultTableModel
          extended by com.taco.swinger.table.FastTableModel
All Implemented Interfaces:
java.io.Serializable, javax.swing.table.TableModel

public class FastTableModel
extends javax.swing.table.DefaultTableModel

A subclass of DefaultTableModel that uses unsynchronized vectors for speed. Warning: this model must only be accessed by a single thread, usually event dispatch thread.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class javax.swing.table.DefaultTableModel
columnIdentifiers, dataVector
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Constructor Summary
FastTableModel()
          Create a new model with zero rows and zero columns.
FastTableModel(int rowCount, int columnCount)
          Create a new model with rowCount rows and columnCount columns.
FastTableModel(java.lang.Object[][] data, java.lang.Object[] columnNames)
           
FastTableModel(java.util.Vector columnNames, int rowCount)
           
FastTableModel(java.util.Vector data, java.util.Vector columnNames)
           
 
Method Summary
protected  java.util.Vector _arrayToVector(java.lang.Object[] array)
          Create a new vector that has a copy of the elements in array.
protected  java.util.Vector _createVector(int size)
          Create a new vector with the argument size.
 void addColumn(java.lang.Object columnName, java.lang.Object[] columnData)
           
 java.util.Vector getColumnIdentifiers()
          This new method allows access to the column names vector.
 void insertRow(int row, java.lang.Object[] rowData)
           
 void insertRow(int row, java.util.Vector rowData)
           
 void newRowsAdded(javax.swing.event.TableModelEvent e)
          Just send out a table change event; we assume the rows already have the correct number of columns.
 void setColumnIdentifiers(java.lang.Object[] newIdentifiers)
           
 void setDataVector(java.lang.Object[][] data, java.lang.Object[] columnIdentifiers)
           
 void setNumRows(int rowCount)
           
 
Methods inherited from class javax.swing.table.DefaultTableModel
addColumn, addColumn, addRow, addRow, convertToVector, convertToVector, getColumnCount, getColumnName, getDataVector, getRowCount, getValueAt, isCellEditable, moveRow, newDataAvailable, removeRow, rowsRemoved, setColumnCount, setColumnIdentifiers, setDataVector, setRowCount, setValueAt
 
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FastTableModel

public FastTableModel()
Create a new model with zero rows and zero columns.


FastTableModel

public FastTableModel(int rowCount,
                      int columnCount)
Create a new model with rowCount rows and columnCount columns.


FastTableModel

public FastTableModel(java.util.Vector columnNames,
                      int rowCount)

FastTableModel

public FastTableModel(java.util.Vector data,
                      java.util.Vector columnNames)

FastTableModel

public FastTableModel(java.lang.Object[][] data,
                      java.lang.Object[] columnNames)
Method Detail

getColumnIdentifiers

public java.util.Vector getColumnIdentifiers()
This new method allows access to the column names vector.


setDataVector

public void setDataVector(java.lang.Object[][] data,
                          java.lang.Object[] columnIdentifiers)
Overrides:
setDataVector in class javax.swing.table.DefaultTableModel

setNumRows

public void setNumRows(int rowCount)
Overrides:
setNumRows in class javax.swing.table.DefaultTableModel

newRowsAdded

public void newRowsAdded(javax.swing.event.TableModelEvent e)
Just send out a table change event; we assume the rows already have the correct number of columns.

Overrides:
newRowsAdded in class javax.swing.table.DefaultTableModel

addColumn

public void addColumn(java.lang.Object columnName,
                      java.lang.Object[] columnData)
Overrides:
addColumn in class javax.swing.table.DefaultTableModel

insertRow

public void insertRow(int row,
                      java.util.Vector rowData)
Overrides:
insertRow in class javax.swing.table.DefaultTableModel

insertRow

public void insertRow(int row,
                      java.lang.Object[] rowData)
Overrides:
insertRow in class javax.swing.table.DefaultTableModel

setColumnIdentifiers

public void setColumnIdentifiers(java.lang.Object[] newIdentifiers)
Overrides:
setColumnIdentifiers in class javax.swing.table.DefaultTableModel

_arrayToVector

protected java.util.Vector _arrayToVector(java.lang.Object[] array)
Create a new vector that has a copy of the elements in array.


_createVector

protected java.util.Vector _createVector(int size)
Create a new vector with the argument size. Each element should be set to null.