org.jdesktop.swingx.treetable
Interface TreeTableModel

All Superinterfaces:
TreeModel
All Known Implementing Classes:
AbstractTreeTableModel, DefaultTreeTableModel, FileSystemModel, SimpleFileSystemModel

public interface TreeTableModel
extends TreeModel

The model used by JXTreeTable.

This model is a combination of TreeModel and TableModel for use with the tree table. It does not actually extends TableModel, but instead copies method signature as appropriate and alters other to work with the underlying TreeModel.

See Also:
TreeModel, TableModel

Method Summary
 Class<?> getColumnClass(int columnIndex)
          Returns the most specific superclass for all the cell values in the column.
 int getColumnCount()
          Returns the number of columns in the model.
 String getColumnName(int column)
          Returns the name of the column at columnIndex.
 int getHierarchicalColumn()
          Returns the column that is the "tree" column.
 Object getValueAt(Object node, int column)
          Returns the value for the node at columnIndex.
 boolean isCellEditable(Object node, int column)
          Returns true if the cell for the node at columnIndex is editable.
 void setValueAt(Object value, Object node, int column)
          Sets the value for the node at columnIndex to value.
 
Methods inherited from interface javax.swing.tree.TreeModel
addTreeModelListener, getChild, getChildCount, getIndexOfChild, getRoot, isLeaf, removeTreeModelListener, valueForPathChanged
 

Method Detail

getColumnClass

Class<?> getColumnClass(int columnIndex)
Returns the most specific superclass for all the cell values in the column. This is used by the JXTreeTable to set up a default renderer and editor for the column.

Parameters:
columnIndex - the index of the column
Returns:
the common ancestor class of the object values in the model.
See Also:
TableModel.getColumnClass(int)

getColumnCount

int getColumnCount()
Returns the number of columns in the model. A JXTreeTable 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.getColumnCount()

getColumnName

String getColumnName(int column)
Returns the name of the column at columnIndex. This is used to initialize the table's column header name. Note: this name does not need to be unique; two columns in a table can have the same name.

Parameters:
column - the index of the column
Returns:
the name of the column
See Also:
TableModel.getColumnName(int)

getHierarchicalColumn

int getHierarchicalColumn()
Returns the column that is the "tree" column. While it is not required, most implementations will default the first column to be the hierarchical one.

Returns:
the index of the hierarchical column or -1 if no column is the hierarchical column.

getValueAt

Object getValueAt(Object node,
                  int column)
Returns the value for the node at columnIndex. The node must be managed by this model. Unamanaged nodes should throw an IllegalArgumentException.

Parameters:
node - the node whose value is to be queried
column - the column whose value is to be queried
Returns:
the value Object at the specified cell
Throws:
IllegalArgumentException - if node is not managed by this model.
See Also:
setValueAt(java.lang.Object, java.lang.Object, int), TableModel.getValueAt(int, int)

isCellEditable

boolean isCellEditable(Object node,
                       int column)
Returns true if the cell for the node at columnIndex is editable. Otherwise, setValueAt on the cell will not change the value of that cell. The node must be managed by this model. Unamanaged nodes should throw an IllegalArgumentException.

Parameters:
node - the node whose value to be queried
column - the column whose value to be queried
Returns:
true if the cell is editable
Throws:
IllegalArgumentException - if node is not managed by this model.
See Also:
setValueAt(java.lang.Object, java.lang.Object, int), TableModel.isCellEditable(int, int)

setValueAt

void setValueAt(Object value,
                Object node,
                int column)
Sets the value for the node at columnIndex to value. The node must be managed by this model. Unamanaged nodes should throw an IllegalArgumentException.

Parameters:
value - the new value
node - the node whose value is to be changed
column - the column whose value is to be changed
Throws:
IllegalArgumentException - if node is not managed by this model.
See Also:
getValueAt(java.lang.Object, int), isCellEditable(java.lang.Object, int), TableModel.setValueAt(Object, int, int)