public class DefaultTreeModel extends Object implements Serializable, TreeModel
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeans™
has been added to the java.beans package.
Please see XMLEncoder.
| Modifier and Type | Field | Description |
|---|---|---|
protected boolean |
asksAllowsChildren |
Determines how the
isLeaf method figures
out if a node is a leaf node. |
protected EventListenerList |
listenerList |
Listeners.
|
protected TreeNode |
root |
Root of the tree.
|
| Constructor | Description |
|---|---|
DefaultTreeModel(TreeNode root) |
Creates a tree in which any node can have children.
|
DefaultTreeModel(TreeNode root,
boolean asksAllowsChildren) |
Creates a tree specifying whether any node can have children,
or whether only certain nodes can have children.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
addTreeModelListener(TreeModelListener l) |
Adds a listener for the TreeModelEvent posted after the tree changes.
|
boolean |
asksAllowsChildren() |
Tells how leaf nodes are determined.
|
protected void |
fireTreeNodesChanged(Object source,
Object[] path,
int[] childIndices,
Object[] children) |
Notifies all listeners that have registered interest for
notification on this event type.
|
protected void |
fireTreeNodesInserted(Object source,
Object[] path,
int[] childIndices,
Object[] children) |
Notifies all listeners that have registered interest for
notification on this event type.
|
protected void |
fireTreeNodesRemoved(Object source,
Object[] path,
int[] childIndices,
Object[] children) |
Notifies all listeners that have registered interest for
notification on this event type.
|
protected void |
fireTreeStructureChanged(Object source,
Object[] path,
int[] childIndices,
Object[] children) |
Notifies all listeners that have registered interest for
notification on this event type.
|
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.
|
<T extends EventListener> |
getListeners(Class<T> listenerType) |
Returns an array of all the objects currently registered
as
FooListeners
upon this model. |
TreeNode[] |
getPathToRoot(TreeNode aNode) |
Builds the parents of node up to and including the root node,
where the original node is the last element in the returned array.
|
protected TreeNode[] |
getPathToRoot(TreeNode aNode,
int depth) |
Builds the parents of node up to and including the root node,
where the original node is the last element in the returned array.
|
Object |
getRoot() |
Returns the root of the tree.
|
TreeModelListener[] |
getTreeModelListeners() |
Returns an array of all the tree model listeners
registered on this model.
|
void |
insertNodeInto(MutableTreeNode newChild,
MutableTreeNode parent,
int index) |
Invoked this to insert newChild at location index in parents children.
|
boolean |
isLeaf(Object node) |
Returns whether the specified node is a leaf node.
|
void |
nodeChanged(TreeNode node) |
Invoke this method after you've changed how node is to be
represented in the tree.
|
void |
nodesChanged(TreeNode node,
int[] childIndices) |
Invoke this method after you've changed how the children identified by
childIndicies are to be represented in the tree.
|
void |
nodeStructureChanged(TreeNode node) |
Invoke this method if you've totally changed the children of
node and its children's children...
|
void |
nodesWereInserted(TreeNode node,
int[] childIndices) |
Invoke this method after you've inserted some TreeNodes into
node.
|
void |
nodesWereRemoved(TreeNode node,
int[] childIndices,
Object[] removedChildren) |
Invoke this method after you've removed some TreeNodes from
node.
|
void |
reload() |
Invoke this method if you've modified the
TreeNodes upon which
this model depends. |
void |
reload(TreeNode node) |
Invoke this method if you've modified the
TreeNodes upon which
this model depends. |
void |
removeNodeFromParent(MutableTreeNode node) |
Message this to remove node from its parent.
|
void |
removeTreeModelListener(TreeModelListener l) |
Removes a listener previously added with addTreeModelListener().
|
void |
setAsksAllowsChildren(boolean newValue) |
Sets whether or not to test leafness by asking getAllowsChildren()
or isLeaf() to the TreeNodes.
|
void |
setRoot(TreeNode root) |
Sets the root to
root. |
void |
valueForPathChanged(TreePath path,
Object newValue) |
This sets the user object of the TreeNode identified by path
and posts a node changed.
|
protected TreeNode root
protected EventListenerList listenerList
protected boolean asksAllowsChildren
isLeaf method figures
out if a node is a leaf node. If true, a node is a leaf
node if it does not allow children. (If it allows
children, it is not a leaf node, even if no children
are present.) That lets you distinguish between folder
nodes and file nodes in a file system, for example.
If this value is false, then any node which has no children is a leaf node, and any node may acquire children.
@ConstructorProperties(value="root") public DefaultTreeModel(TreeNode root)
root - a TreeNode object that is the root of the treeDefaultTreeModel(TreeNode, boolean)public DefaultTreeModel(TreeNode root, boolean asksAllowsChildren)
root - a TreeNode object that is the root of the treeasksAllowsChildren - a boolean, false if any node can
have children, true if each node is asked to see if
it can have childrenasksAllowsChildrenpublic void setAsksAllowsChildren(boolean newValue)
public boolean asksAllowsChildren()
asksAllowsChildrenpublic void setRoot(TreeNode root)
root. A null root implies
the tree is to display nothing, and is legal.public Object getRoot()
public int getIndexOfChild(Object parent, Object child)
null, returns -1.getIndexOfChild in interface TreeModelparent - a note in the tree, obtained from this data sourcechild - the node we are interested innullpublic Object getChild(Object parent, int index)
public int getChildCount(Object parent)
getChildCount in interface TreeModelparent - a node in the tree, obtained from this data sourcepublic boolean isLeaf(Object node)
askAllowsChildren setting.isLeaf in interface TreeModelnode - the node to checkasksAllowsChildren,
TreeModel.isLeaf(java.lang.Object)public void reload()
TreeNodes upon which
this model depends. The model will notify all of its listeners that the
model has changed.public void valueForPathChanged(TreePath path, Object newValue)
valueForPathChanged in interface TreeModelpath - path to the node that the user has alterednewValue - the new value from the TreeCellEditorpublic void insertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index)
public void removeNodeFromParent(MutableTreeNode node)
public void nodeChanged(TreeNode node)
public void reload(TreeNode node)
TreeNodes upon which
this model depends. The model will notify all of its listeners that the
model has changed below the given node.node - the node below which the model has changedpublic void nodesWereInserted(TreeNode node, int[] childIndices)
public void nodesWereRemoved(TreeNode node, int[] childIndices, Object[] removedChildren)
public void nodesChanged(TreeNode node, int[] childIndices)
public void nodeStructureChanged(TreeNode node)
public TreeNode[] getPathToRoot(TreeNode aNode)
aNode - the TreeNode to get the path forprotected TreeNode[] getPathToRoot(TreeNode aNode, int depth)
aNode - the TreeNode to get the path fordepth - an int giving the number of steps already taken towards
the root (on recursive calls), used to size the returned arraypublic void addTreeModelListener(TreeModelListener l)
addTreeModelListener in interface TreeModell - the listener to addremoveTreeModelListener(javax.swing.event.TreeModelListener)public void removeTreeModelListener(TreeModelListener l)
removeTreeModelListener in interface TreeModell - the listener to removeaddTreeModelListener(javax.swing.event.TreeModelListener)public TreeModelListener[] getTreeModelListeners()
TreeModelListeners
or an empty
array if no tree model listeners are currently registeredaddTreeModelListener(javax.swing.event.TreeModelListener),
removeTreeModelListener(javax.swing.event.TreeModelListener)protected void fireTreeNodesChanged(Object source, Object[] path, int[] childIndices, Object[] children)
source - the source of the TreeModelEvent;
typically thispath - the path to the parent of the nodes that changed; use
null to identify the root has changedchildIndices - the indices of the changed elementschildren - the changed elementsprotected void fireTreeNodesInserted(Object source, Object[] path, int[] childIndices, Object[] children)
source - the source of the TreeModelEvent;
typically thispath - the path to the parent the nodes were added tochildIndices - the indices of the new elementschildren - the new elementsprotected void fireTreeNodesRemoved(Object source, Object[] path, int[] childIndices, Object[] children)
source - the source of the TreeModelEvent;
typically thispath - the path to the parent the nodes were removed fromchildIndices - the indices of the removed elementschildren - the removed elementsprotected void fireTreeStructureChanged(Object source, Object[] path, int[] childIndices, Object[] children)
source - the source of the TreeModelEvent;
typically thispath - the path to the parent of the structure that has changed;
use null to identify the root has changedchildIndices - the indices of the affected elementschildren - the affected elementspublic <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListeners
upon this model.
FooListeners are registered using the
addFooListener method.
You can specify the listenerType argument
with a class literal,
such as
FooListener.class.
For example, you can query a
DefaultTreeModel m
for its tree model listeners with the following code:
TreeModelListener[] tmls = (TreeModelListener[])(m.getListeners(TreeModelListener.class));If no such listeners exist, this method returns an empty array.
listenerType - the type of listeners requested; this parameter
should specify an interface that descends from
java.util.EventListenerFooListeners on this component,
or an empty array if no such
listeners have been addedClassCastException - if listenerType
doesn't specify a class or interface that implements
java.util.EventListenergetTreeModelListeners() Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.