org.jdesktop.swingx
Class JXTreeTable.TreeTableModelAdapter

java.lang.Object
  extended by javax.swing.table.AbstractTableModel
      extended by org.jdesktop.swingx.JXTreeTable.TreeTableModelAdapter
All Implemented Interfaces:
Serializable, TableModel
Enclosing class:
JXTreeTable

protected static class JXTreeTable.TreeTableModelAdapter
extends AbstractTableModel

See Also:
Serialized Form

Field Summary
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Method Summary
protected  void bind(JXTreeTable treeTable)
          Immutably binds this TreeTableModelAdapter to the specified JXTreeTable.
protected  void delayedFireTableDataUpdated(TreeModelEvent tme)
          This is used for updated only.
 Class<?> getColumnClass(int column)
          Returns Object.class regardless of columnIndex.
 int getColumnCount()
          Returns the number of columns in the model.
 String getColumnName(int column)
          Returns a default name for the column using spreadsheet conventions: A, B, C, ...
 int getRowCount()
          Returns the number of rows in the model.
protected  JXTreeTable getTreeTable()
          Returns the JXTreeTable instance to which this TreeTableModelAdapter is permanently and exclusively bound.
 Object getValueAt(int row, int column)
          Returns the value for the cell at columnIndex and rowIndex.
 boolean isCellEditable(int row, int column)
          Returns false.
protected  Object nodeForRow(int row)
           
 void setValueAt(Object value, int row, int column)
          This empty implementation is provided so users don't have to implement this method if their data model is not editable.
protected  void updateAfterExpansionEvent(TreeExpansionEvent event)
          updates the table after having received an TreeExpansionEvent.
 
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

updateAfterExpansionEvent

protected void updateAfterExpansionEvent(TreeExpansionEvent event)
updates the table after having received an TreeExpansionEvent.

Parameters:
event - the TreeExpansionEvent which triggered the method call.

getTreeTable

protected JXTreeTable getTreeTable()
Returns the JXTreeTable instance to which this TreeTableModelAdapter is permanently and exclusively bound. For use by JXTreeTable.setModel(javax.swing.table.TableModel).

Returns:
JXTreeTable to which this TreeTableModelAdapter is permanently bound

bind

protected final void bind(JXTreeTable treeTable)
Immutably binds this TreeTableModelAdapter to the specified JXTreeTable.

Parameters:
treeTable - the JXTreeTable instance that this adapter is bound to.

getColumnClass

public Class<?> getColumnClass(int column)
Description copied from class: javax.swing.table.AbstractTableModel
Returns Object.class regardless of columnIndex.

Specified by:
getColumnClass in interface TableModel
Overrides:
getColumnClass in class AbstractTableModel
Parameters:
column - the column being queried
Returns:
the Object.class

getColumnCount

public int getColumnCount()
Description copied from interface: javax.swing.table.TableModel
Returns the number of columns in the model. A JTable uses this method to determine how many columns it should create and display by default.

Returns:
the number of columns in the model
See Also:
TableModel.getRowCount()

getColumnName

public String getColumnName(int column)
Description copied from class: javax.swing.table.AbstractTableModel
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 in interface TableModel
Overrides:
getColumnName in class AbstractTableModel
Parameters:
column - the column being queried
Returns:
a string containing the default name of column

getRowCount

public int getRowCount()
Description copied from interface: javax.swing.table.TableModel
Returns the number of rows in the model. A JTable uses this method to determine how many rows it should display. This method should be quick, as it is called frequently during rendering.

Returns:
the number of rows in the model
See Also:
TableModel.getColumnCount()

getValueAt

public Object getValueAt(int row,
                         int column)
Description copied from interface: javax.swing.table.TableModel
Returns the value for the cell at columnIndex and rowIndex.

Parameters:
row - the row whose value is to be queried
column - the column whose value is to be queried
Returns:
the value Object at the specified cell

isCellEditable

public boolean isCellEditable(int row,
                              int column)
Description copied from class: javax.swing.table.AbstractTableModel
Returns false. This is the default implementation for all cells.

Specified by:
isCellEditable in interface TableModel
Overrides:
isCellEditable in class AbstractTableModel
Parameters:
row - the row being queried
column - the column being queried
Returns:
false
See Also:
TableModel.setValueAt(java.lang.Object, int, int)

setValueAt

public void setValueAt(Object value,
                       int row,
                       int column)
Description copied from class: javax.swing.table.AbstractTableModel
This empty implementation is provided so users don't have to implement this method if their data model is not editable.

Specified by:
setValueAt in interface TableModel
Overrides:
setValueAt in class AbstractTableModel
Parameters:
value - value to assign to cell
row - row of cell
column - column of cell
See Also:
TableModel.getValueAt(int, int), TableModel.isCellEditable(int, int)

nodeForRow

protected Object nodeForRow(int row)

delayedFireTableDataUpdated

protected void delayedFireTableDataUpdated(TreeModelEvent tme)
This is used for updated only. PENDING: not necessary to delay? Updates are never structural changes which are the critical.

Parameters:
tme -