|
Java™ Platform Standard Ed. 6 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface TreeModel
The model used by JTree
.
JTree
and its related classes make extensive use of
TreePath
s for indentifying nodes in the TreeModel
.
If a TreeModel
returns the same object, as compared by
equals
, at two different indices under the same parent
than the resulting TreePath
objects will be considered equal
as well. Some implementations may assume that if two
TreePath
s are equal, they identify the same node. If this
condition is not met, painting problems and other oddities may result.
In other words, if getChild
for a given parent returns
the same Object (as determined by equals
) problems may
result, and it is recommended you avoid doing this.
Similarly JTree
and its related classes place
TreePath
s in Map
s. As such if
a node is requested twice, the return values must be equal
(using the equals
method) and have the same
hashCode
.
For further information on tree models, including an example of a custom implementation, see How to Use Trees in The Java Tutorial.
TreePath
Method Summary | |
---|---|
void |
addTreeModelListener(TreeModelListener l)
Adds a listener for the TreeModelEvent
posted after the tree changes. |
Object |
getChild(Object parent,
int index)
Returns the child of parent at index index
in the parent's
child array. |
int |
getChildCount(Object parent)
Returns the number of children of parent . |
int |
getIndexOfChild(Object parent,
Object child)
Returns the index of child in parent. |
Object |
getRoot()
Returns the root of the tree. |
boolean |
isLeaf(Object node)
Returns true if node is a leaf. |
void |
removeTreeModelListener(TreeModelListener l)
Removes a listener previously added with addTreeModelListener . |
void |
valueForPathChanged(TreePath path,
Object newValue)
Messaged when the user has altered the value for the item identified by path to newValue . |
Method Detail |
---|
Object getRoot()
null
only if the tree has no nodes.
Object getChild(Object parent, int index)
parent
at index index
in the parent's
child array. parent
must be a node previously obtained
from this data source. This should not return null
if index
is a valid index for parent
(that is index >= 0 &&
index < getChildCount(parent
)).
parent
- a node in the tree, obtained from this data source
parent
at index index
int getChildCount(Object parent)
parent
.
Returns 0 if the node
is a leaf or if it has no children. parent
must be a node
previously obtained from this data source.
parent
- a node in the tree, obtained from this data source
parent
boolean isLeaf(Object node)
true
if node
is a leaf.
It is possible for this method to return false
even if node
has no children.
A directory in a filesystem, for example,
may contain no files; the node representing
the directory is not a leaf, but it also has no children.
node
- a node in the tree, obtained from this data source
node
is a leafvoid valueForPathChanged(TreePath path, Object newValue)
path
to newValue
.
If newValue
signifies a truly new value
the model should post a treeNodesChanged
event.
path
- path to the node that the user has alterednewValue
- the new value from the TreeCellEditorint getIndexOfChild(Object parent, Object child)
parent
or child
is null
, returns -1.
If either parent
or child
don't
belong to this tree model, returns -1.
parent
- a node in the tree, obtained from this data sourcechild
- the node we are interested in
child
or parent
are null
or don't belong to this tree modelvoid addTreeModelListener(TreeModelListener l)
TreeModelEvent
posted after the tree changes.
l
- the listener to addremoveTreeModelListener(javax.swing.event.TreeModelListener)
void removeTreeModelListener(TreeModelListener l)
addTreeModelListener
.
l
- the listener to removeaddTreeModelListener(javax.swing.event.TreeModelListener)
|
Java™ Platform Standard Ed. 6 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.