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.
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