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 and 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 and 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 and 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
FooListener s
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
TreeNode s upon which
this model depends. |
void |
reload(TreeNode node)
Invoke this method if you've modified the
TreeNode s 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 childrenasksAllowsChildren
public void setAsksAllowsChildren(boolean newValue)
public boolean asksAllowsChildren()
asksAllowsChildren
public 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 TreeModel
parent
- a note in the tree, obtained from this data sourcechild
- the node we are interested innull
public Object getChild(Object parent, int index)
public int getChildCount(Object parent)
getChildCount
in interface TreeModel
parent
- a node in the tree, obtained from this data sourcepublic boolean isLeaf(Object node)
askAllowsChildren
setting.isLeaf
in interface TreeModel
node
- the node to checkasksAllowsChildren
,
TreeModel.isLeaf(java.lang.Object)
public void reload()
TreeNode
s 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 TreeModel
path
- 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)
TreeNode
s 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 TreeModel
l
- the listener to addremoveTreeModelListener(javax.swing.event.TreeModelListener)
public void removeTreeModelListener(TreeModelListener l)
removeTreeModelListener
in interface TreeModel
l
- the listener to removeaddTreeModelListener(javax.swing.event.TreeModelListener)
public TreeModelListener[] getTreeModelListeners()
TreeModelListener
s
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 this
path
- 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 this
path
- 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 this
path
- 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 this
path
- 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)
FooListener
s
upon this model.
FooListener
s 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.EventListener
FooListener
s 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.EventListener
getTreeModelListeners()
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, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.