charvax.swing.tree

Class DefaultTreeModel

Implemented Interfaces:
TreeModel

public class DefaultTreeModel
extends java.lang.Object
implements TreeModel

(UNDER CONSTRUCTION) A simple tree data model that uses TreeNodes.

Field Summary

protected boolean
_asksAllowsChildren
Determines how the isLeaf method figures out if a node is a leaf node.
protected ArrayList
_listeners
protected TreeNode
_root

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. parent must be a node previously obtained from this data source.
int
getChildCount(Object parent)
Returns the number of children of 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)
Called when the user has altered the value for the item identified by path to newValue.

Field Details

_asksAllowsChildren

protected boolean _asksAllowsChildren
Determines how the 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.


_listeners

protected ArrayList _listeners

_root

protected TreeNode _root

Method Details

addTreeModelListener

public void addTreeModelListener(TreeModelListener l)
Adds a listener for the TreeModelEvent posted after the tree changes.
Specified by:
addTreeModelListener in interface TreeModel

getChild

public 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)).
Specified by:
getChild in interface TreeModel

getChildCount

public 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.
Specified by:
getChildCount in interface TreeModel

getRoot

public Object getRoot()
Returns the root of the tree. Returns null only if the tree has no nodes.
Specified by:
getRoot in interface TreeModel

isLeaf

public boolean isLeaf(Object node_)
Returns true if node is a leaf. The way the test is performed depends on the asksAllowsChildren setting.
Specified by:
isLeaf in interface TreeModel

removeTreeModelListener

public void removeTreeModelListener(TreeModelListener l)
Removes a listener previously added with addTreeModelListener.
Specified by:
removeTreeModelListener in interface TreeModel

valueForPathChanged

public void valueForPathChanged(TreePath path,
                                Object newValue)
Called 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.
Specified by:
valueForPathChanged in interface TreeModel