eu.beesoft.gaia.swing
Class TreeTableModel

java.lang.Object
  extended by javax.swing.tree.DefaultTreeModel
      extended by eu.beesoft.gaia.swing.TreeTableModel
All Implemented Interfaces:
java.io.Serializable, javax.swing.tree.TreeModel
Direct Known Subclasses:
GanttModel

public class TreeTableModel
extends javax.swing.tree.DefaultTreeModel

Extends DefaultTreeModel to meet the requirements for model for JTreeTable.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class javax.swing.tree.DefaultTreeModel
asksAllowsChildren, listenerList, root
 
Constructor Summary
TreeTableModel()
          Creates a new instance of TreeTableModel.
TreeTableModel(TreeTableNode root)
          Creates a new instance of TreeTableModel with given root node.
TreeTableModel(TreeTableNode root, java.util.List<java.lang.String> columnNames)
          Creates a new instance of TreeTableModel.
TreeTableModel(TreeTableNode root, java.lang.String[] columnNames)
          Creates a new instance of TreeTableModel.
 
Method Summary
 java.lang.Class<?> getColumnClass(int column)
          Returns the type for column number column.
 int getColumnCount()
          Returns the number of available columns.
 java.lang.String getColumnName(int column)
          Returns the column name.
 java.lang.Object getValueAt(TreeTableNode node, int column)
          Returns the value to be displayed for node node, at column number column.
 boolean isCellEditable(TreeTableNode node, int column)
          Indicates whether the the value for node node, at column number column is editable.
 boolean isLeaf(java.lang.Object node)
          Returns whether the specified node is a leaf node.
 void setRoot(javax.swing.tree.TreeNode node)
          Sets the root to root.
 void setValueAt(TreeTableNode node, int column, java.lang.Object value)
          Sets the value for node node, at column number column.
 
Methods inherited from class javax.swing.tree.DefaultTreeModel
addTreeModelListener, asksAllowsChildren, fireTreeNodesChanged, fireTreeNodesInserted, fireTreeNodesRemoved, fireTreeStructureChanged, getChild, getChildCount, getIndexOfChild, getListeners, getPathToRoot, getPathToRoot, getRoot, getTreeModelListeners, insertNodeInto, nodeChanged, nodesChanged, nodeStructureChanged, nodesWereInserted, nodesWereRemoved, reload, reload, removeNodeFromParent, removeTreeModelListener, setAsksAllowsChildren, valueForPathChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TreeTableModel

public TreeTableModel()
Creates a new instance of TreeTableModel.


TreeTableModel

public TreeTableModel(TreeTableNode root)
Creates a new instance of TreeTableModel with given root node.

Parameters:
root - - a TreeTableNode object that is the root of the tree

TreeTableModel

public TreeTableModel(TreeTableNode root,
                      java.lang.String[] columnNames)
Creates a new instance of TreeTableModel.

Parameters:
root - - a TreeTableNode object that is the root of the tree
columnNames - - the names (labels) of columns in JTreeTable

TreeTableModel

public TreeTableModel(TreeTableNode root,
                      java.util.List<java.lang.String> columnNames)
Creates a new instance of TreeTableModel.

Parameters:
root - - a TreeTableNode object that is the root of the tree
columnNames - - the names (labels) of columns in JTreeTable
Method Detail

setRoot

public void setRoot(javax.swing.tree.TreeNode node)
Sets the root to root. Only instances of TreeTableNode are allowed. A null root implies the tree is to display nothing, and is legal.

Overrides:
setRoot in class javax.swing.tree.DefaultTreeModel
Parameters:
node - - the new root node

isLeaf

public boolean isLeaf(java.lang.Object node)
Returns whether the specified node is a leaf node. Redirects to ExplorableTreeNode.isLeaf().

Specified by:
isLeaf in interface javax.swing.tree.TreeModel
Overrides:
isLeaf in class javax.swing.tree.DefaultTreeModel
Parameters:
node - - the node to check
Returns:
true if the node is a leaf node

getColumnCount

public int getColumnCount()
Returns the number of available columns.

Returns:
the number of available columns

getColumnName

public java.lang.String getColumnName(int column)
Returns the column name.

Parameters:
column - - the column being queried
Returns:
a name for this column

getColumnClass

public java.lang.Class<?> getColumnClass(int column)
Returns the type for column number column. Always returns TreeTableModel class for column = 0. For other columns returns Object.class.

Parameters:
column - - the column being queried
Returns:
class for queried column

getValueAt

public java.lang.Object getValueAt(TreeTableNode node,
                                   int column)
Returns the value to be displayed for node node, at column number column. Redirects to TreeTableNode.getValueAt(int) method.

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

isCellEditable

public boolean isCellEditable(TreeTableNode node,
                              int column)
Indicates whether the the value for node node, at column number column is editable. By default, make the column with the Tree in it the only editable one. Making this column editable causes the JTable to forward mouse and keyboard events in the Tree column to the underlying JTree.


setValueAt

public void setValueAt(TreeTableNode node,
                       int column,
                       java.lang.Object value)
Sets the value for node node, at column number column. Redirects to TreeTableNode.setValueAt(int, Object) method.

Parameters:
node - - the node to assign value
column - - the column of cell
value - - value to assign to cell