TreeModel (Java 2 Platform SE 5.0) (original) (raw)
javax.swing.tree
Interface TreeModel
All Known Implementing Classes:
public interface TreeModel
The interface that defines a suitable data model for a JTree
. For further information on tree models, including an example of a custom implementation, see How to Use Trees in The Java Tutorial.
JTree
and its related classes make extensive use ofTreePath
s for indentifying nodes in the TreeModel
. If a TreeModel
returns the same object, as compared byequals
, 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 twoTreePath
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.
See Also:
Method Summary | |
---|---|
void | addTreeModelListener(TreeModelListener l) Adds a listener for the TreeModelEvent posted after the tree changes. |
Object | [getChild](../../../javax/swing/tree/TreeModel.html#getChild%28java.lang.Object, int%29)(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](../../../javax/swing/tree/TreeModel.html#getIndexOfChild%28java.lang.Object, java.lang.Object%29)(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 withaddTreeModelListener. |
void | [valueForPathChanged](../../../javax/swing/tree/TreeModel.html#valueForPathChanged%28javax.swing.tree.TreePath, java.lang.Object%29)(TreePath path,Object newValue) Messaged when the user has altered the value for the item identified by path to newValue. |
Method Detail |
---|
getRoot
Object getRoot()
Returns the root of the tree. Returns null
only if the tree has no nodes.
Returns:
the root of the tree
getChild
Object getChild(Object parent, int index)
Returns the child of 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
)).
Parameters:
parent
- a node in the tree, obtained from this data source
Returns:
the child of parent
at index index
getChildCount
int getChildCount(Object parent)
Returns the number of children of 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.
Parameters:
parent
- a node in the tree, obtained from this data source
Returns:
the number of children of the node parent
isLeaf
boolean isLeaf(Object node)
Returns 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.
Parameters:
node
- a node in the tree, obtained from this data source
Returns:
true if node
is a leaf
valueForPathChanged
void valueForPathChanged(TreePath path, Object newValue)
Messaged when the user has altered the value for the item identified by path
to newValue
. If newValue
signifies a truly new value the model should post a treeNodesChanged
event.
Parameters:
path
- path to the node that the user has altered
newValue
- the new value from the TreeCellEditor
getIndexOfChild
int getIndexOfChild(Object parent, Object child)
Returns the index of child in parent. If either parent
or child
is null
, returns -1. If either parent
or child
don't belong to this tree model, returns -1.
Parameters:
parent
- a note in the tree, obtained from this data source
child
- the node we are interested in
Returns:
the index of the child in the parent, or -1 if eitherchild
or parent
are null
or don't belong to this tree model
addTreeModelListener
void addTreeModelListener(TreeModelListener l)
Adds a listener for the TreeModelEvent
posted after the tree changes.
Parameters:
l
- the listener to add
See Also:
removeTreeModelListener(javax.swing.event.TreeModelListener)
removeTreeModelListener
void removeTreeModelListener(TreeModelListener l)
Removes a listener previously added withaddTreeModelListener
.
Parameters:
l
- the listener to remove
See Also:
addTreeModelListener(javax.swing.event.TreeModelListener)
Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.