|
||||||||||
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.
Applications that use JXTreeTable
are expected to provide their own
implementation of a TreeTableModel
.
The DefaultTreeTableModel
is designed to be used with
TreeTableNode
s. 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 . |
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 |
setValueAt(java.lang.Object value,
java.lang.Object node,
int column)
Sets the value for the node at columnIndex to
value . |
Methods inherited from class org.jdesktop.swingx.treetable.AbstractTreeTableModel |
---|
addTreeModelListener, getColumnClass, getHierarchicalColumn, getTreeModelListeners, removeTreeModelListener, valueForPathChanged |
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
. asksAllowsChildren
is disabled and isLeaf
will provide the same semantics as AbstractTreeTableModel.isLeaf
.
root
- the root node of the treepublic DefaultTreeTableModel(TreeTableNode root, java.util.List<?> columnNames)
DefaultTreeTableModel
with the specified
root
. asksAllowsChildren
is disabled and isLeaf
will provide the same semantics as AbstractTreeTableModel.isLeaf
.
root
- the root node of the treeMethod Detail |
---|
public void setColumnIdentifiers(java.util.List<?> columnIdentifiers)
newIdentifier
s 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 newIdentifier
s 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.TreeModel
getRoot
in class AbstractTreeTableModel
java.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 TreeTableModel
setValueAt
in class AbstractTreeTableModel
value
- 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 TreeTableModel
getColumnName
in class AbstractTreeTableModel
column
- 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 TreeTableModel
isCellEditable
in class AbstractTreeTableModel
node
- 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.TreeModel
isLeaf
in class AbstractTreeTableModel
node
- a node in the tree, obtained from this data source
node
is a leafpublic TreeTableNode[] getPathToRoot(TreeTableNode aNode)
aNode
- the node to query
TreeTableNode
s, 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 null
public void setRoot(TreeTableNode root)
root
as
an examplar of the table.
root
- the node to set as rootpublic void insertNodeInto(MutableTreeTableNode newChild, MutableTreeTableNode parent, int index)
public void removeNodeFromParent(MutableTreeTableNode node)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |