|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jdesktop.swingx.treetable.AbstractTreeTableModel
org.jdesktop.swingx.treetable.DefaultTreeTableModel
public class DefaultTreeTableModel
DefaultTreeTableModel is a concrete implementation of
AbstractTreeTableModel and is provided purely as a convenience for
use with TreeTableNodes. Applications that use JXTreeTable
without TreeTableNodes are expected to provide their own
implementation of a TreeTableModel.
The DefaultTreeTableModel is designed to be used with
TreeTableNodes. Specifically, users should extend
AbstractMutableTreeTableNode to provide custom implementations for
data display.
Users who do not provide a list of column identifiers must provide a root that contains at least one column. Without specified identifiers the model will attempt to calculate the columns required for display by querying the root node. Normally, the root node can be little more than a shell (in displays that hide it), but without identifiers, the model relies on the root node metadata for display.
| Field Summary | |
|---|---|
protected java.util.List<?> |
columnIdentifiers
The List of column identifiers. |
| Fields inherited from class org.jdesktop.swingx.treetable.AbstractTreeTableModel |
|---|
modelSupport, root |
| Constructor Summary | |
|---|---|
DefaultTreeTableModel()
Creates a new DefaultTreeTableModel with a null root. |
|
DefaultTreeTableModel(TreeTableNode root)
Creates a new DefaultTreeTableModel with the specified
root. |
|
DefaultTreeTableModel(TreeTableNode root,
java.util.List<?> columnNames)
Creates a new DefaultTreeTableModel with the specified root and column names. |
|
| Method Summary | |
|---|---|
java.lang.Object |
getChild(java.lang.Object parent,
int index)
|
int |
getChildCount(java.lang.Object parent)
|
int |
getColumnCount()
Returns the number of columns in the model. |
java.lang.String |
getColumnName(int column)
Returns the name of the column at columnIndex. |
int |
getIndexOfChild(java.lang.Object parent,
java.lang.Object child)
|
TreeTableNode[] |
getPathToRoot(TreeTableNode aNode)
Gets the path from the root to the specified node. |
TreeTableNode |
getRoot()
Returns the root of the tree. |
java.lang.Object |
getValueAt(java.lang.Object node,
int column)
Gets the value for the node at column. |
void |
insertNodeInto(MutableTreeTableNode newChild,
MutableTreeTableNode parent,
int index)
Invoked this to insert newChild at location index in parents children. |
boolean |
isCellEditable(java.lang.Object node,
int column)
Returns true if the cell for the node at columnIndex is
editable. |
boolean |
isLeaf(java.lang.Object node)
Returns true if node is a leaf. |
void |
removeNodeFromParent(MutableTreeTableNode node)
Message this to remove node from its parent. |
void |
setColumnIdentifiers(java.util.List<?> columnIdentifiers)
Replaces the column identifiers in the model. |
void |
setRoot(TreeTableNode root)
Sets the root for this table model. |
void |
setUserObject(TreeTableNode node,
java.lang.Object userObject)
Sets the user object for a node. |
void |
setValueAt(java.lang.Object value,
java.lang.Object node,
int column)
Sets the value for the node at columnIndex to
value. |
void |
valueForPathChanged(javax.swing.tree.TreePath path,
java.lang.Object newValue)
Called when value for the item identified by path has been changed. |
| Methods inherited from class org.jdesktop.swingx.treetable.AbstractTreeTableModel |
|---|
addTreeModelListener, getColumnClass, getHierarchicalColumn, getTreeModelListeners, removeTreeModelListener |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected java.util.List<?> columnIdentifiers
List of column identifiers.
| Constructor Detail |
|---|
public DefaultTreeTableModel()
DefaultTreeTableModel with a null root.
public DefaultTreeTableModel(TreeTableNode root)
DefaultTreeTableModel with the specified
root.
root - the root node of the tree
public DefaultTreeTableModel(TreeTableNode root,
java.util.List<?> columnNames)
DefaultTreeTableModel with the specified root and column names.
root - the root node of the treecolumnNames - the names of the columns used by this modelsetColumnIdentifiers(List)| Method Detail |
|---|
public void setColumnIdentifiers(java.util.List<?> columnIdentifiers)
newIdentifiers is greater than the current number of
columns, new columns are added to the end of each row in the model. If
the number of newIdentifiers is less than the current
number of columns, all the extra columns at the end of a row are
discarded.
columnIdentifiers - vector of column identifiers. If null, set the
model to zero columnspublic TreeTableNode getRoot()
null only if the tree has
no nodes.
getRoot in interface javax.swing.tree.TreeModelgetRoot in class AbstractTreeTableModeljava.lang.ClassCastException - if root is not a TreeTableNode. Even though
subclasses have direct access to root, they should
avoid accessing it directly.AbstractTreeTableModel.root,
setRoot(TreeTableNode)
public java.lang.Object getValueAt(java.lang.Object node,
int column)
node at column.
node - the node whose value is to be queriedcolumn - the column whose value is to be queried
java.lang.IllegalArgumentException - if node is not an instance of TreeTableNode
or is not managed by this model, or column is not a
valid column indexTreeTableModel.setValueAt(java.lang.Object, java.lang.Object, int),
TableModel.getValueAt(int, int)
public void setValueAt(java.lang.Object value,
java.lang.Object node,
int column)
node at columnIndex to
value.
setValueAt in interface TreeTableModelsetValueAt in class AbstractTreeTableModelvalue - the new valuenode - the node whose value is to be changedcolumn - the column whose value is to be changedTreeTableModel.getValueAt(java.lang.Object, int),
AbstractTreeTableModel.isCellEditable(java.lang.Object, int),
TableModel.setValueAt(Object, int, int)public int getColumnCount()
JXTreeTable uses
this method to determine how many columns it should create and display by
default.
TableModel.getColumnCount()public java.lang.String getColumnName(int column)
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.
getColumnName in interface TreeTableModelgetColumnName in class AbstractTreeTableModelcolumn - the index of the column
TableModel.getColumnName(int)
public java.lang.Object getChild(java.lang.Object parent,
int index)
public int getChildCount(java.lang.Object parent)
public int getIndexOfChild(java.lang.Object parent,
java.lang.Object child)
public boolean isCellEditable(java.lang.Object node,
int column)
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.
isCellEditable in interface TreeTableModelisCellEditable in class AbstractTreeTableModelnode - the node whose value to be queriedcolumn - the column whose value to be queried
TreeTableModel.setValueAt(java.lang.Object, java.lang.Object, int),
TableModel.isCellEditable(int, int)public boolean isLeaf(java.lang.Object node)
true if node is a leaf.
isLeaf in interface javax.swing.tree.TreeModelisLeaf in class AbstractTreeTableModelnode - a node in the tree, obtained from this data source
node is a leafpublic TreeTableNode[] getPathToRoot(TreeTableNode aNode)
aNode - the node to query
TreeTableNodes, where
arr[0].equals(getRoot()) and
arr[arr.length - 1].equals(aNode), or an empty array if
the node is not found.
java.lang.NullPointerException - if aNode is nullpublic void setRoot(TreeTableNode root)
root as
an examplar of the table.
root - the node to set as root
public void insertNodeInto(MutableTreeTableNode newChild,
MutableTreeTableNode parent,
int index)
public void removeNodeFromParent(MutableTreeTableNode node)
public void valueForPathChanged(javax.swing.tree.TreePath path,
java.lang.Object newValue)
treeNodesChanged event.
This changes the object backing the TreeTableNode described by
the path. This change does not alter a nodes children in any way. If you
need to change structure of the node, use one of the provided mutator
methods.
valueForPathChanged in interface javax.swing.tree.TreeModelvalueForPathChanged in class AbstractTreeTableModelpath - path to the node that has changednewValue - the new value
java.lang.NullPointerException - if path is null
java.lang.IllegalArgumentException - if path is not a path managed by this model
java.lang.ClassCastException - if path.getLastPathComponent() is not a TreeTableNode
public void setUserObject(TreeTableNode node,
java.lang.Object userObject)
This method is a convenient cover for
valueForPathChanged(TreePath, Object).
node - the node to modifyuserObject - the new user object to set
java.lang.NullPointerException - if node is null
java.lang.IllegalArgumentException - if node is not a node managed by this model
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||