Home » openjdk-7 » javax » swing » tree » [javadoc | source]
javax.swing.tree
public class: DefaultTreeModel [javadoc | source]
java.lang.Object
   javax.swing.tree.DefaultTreeModel

All Implemented Interfaces:
    TreeModel, java$io$Serializable

Direct Known Subclasses:
    FolderListTreeModel, ContactListTreeModel, NeurosTreeModel

A simple tree data model that uses TreeNodes. For further information and examples that use DefaultTreeModel, see How to Use Trees in The Java Tutorial.

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 JavaBeansTM has been added to the java.beans package. Please see java.beans.XMLEncoder .

Field Summary
protected  TreeNode root    Root of the tree. 
protected  EventListenerList listenerList    Listeners. 
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.

 
Constructor:
 public DefaultTreeModel(TreeNode root) 
 public DefaultTreeModel(TreeNode root,
    boolean asksAllowsChildren) 
Method from javax.swing.tree.DefaultTreeModel Summary:
addTreeModelListener,   asksAllowsChildren,   fireTreeNodesChanged,   fireTreeNodesInserted,   fireTreeNodesRemoved,   fireTreeStructureChanged,   getChild,   getChildCount,   getIndexOfChild,   getListeners,   getPathToRoot,   getPathToRoot,   getRoot,   getTreeModelListeners,   insertNodeInto,   isLeaf,   nodeChanged,   nodeStructureChanged,   nodesChanged,   nodesWereInserted,   nodesWereRemoved,   reload,   reload,   removeNodeFromParent,   removeTreeModelListener,   setAsksAllowsChildren,   setRoot,   valueForPathChanged
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from javax.swing.tree.DefaultTreeModel Detail:
 public  void addTreeModelListener(TreeModelListener l) 
    Adds a listener for the TreeModelEvent posted after the tree changes.
 public 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. The event instance is lazily created using the parameters passed into the fire method.
 protected  void fireTreeNodesInserted(Object source,
    Object[] path,
    int[] childIndices,
    Object[] children) 
    Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the parameters passed into the fire method.
 protected  void fireTreeNodesRemoved(Object source,
    Object[] path,
    int[] childIndices,
    Object[] children) 
    Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the parameters passed into the fire method.
 protected  void fireTreeStructureChanged(Object source,
    Object[] path,
    int[] childIndices,
    Object[] children) 
    Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the parameters passed into the fire method.
 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)).
 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.
 public int getIndexOfChild(Object parent,
    Object child) 
    Returns the index of child in parent. If either the parent or child is null, returns -1.
 public T[] getListeners(Class<T> listenerType) 
    Returns an array of all the objects currently registered as 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.
 public 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. The length of the returned array gives the node's depth in the tree.
 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. The length of the returned array gives the node's depth in the tree.
 public Object getRoot() 
    Returns the root of the tree. Returns null only if the tree has no nodes.
 public TreeModelListener[] getTreeModelListeners() 
    Returns an array of all the tree model listeners registered on this model.
 public  void insertNodeInto(MutableTreeNode newChild,
    MutableTreeNode parent,
    int index) 
    Invoked this to insert newChild at location index in parents children. This will then message nodesWereInserted to create the appropriate event. This is the preferred way to add children as it will create the appropriate event.
 public boolean isLeaf(Object node) 
    Returns whether the specified node is a leaf node. The way the test is performed depends on the askAllowsChildren setting.
 public  void nodeChanged(TreeNode node) 
    Invoke this method after you've changed how node is to be represented in the tree.
 public  void nodeStructureChanged(TreeNode node) 
    Invoke this method if you've totally changed the children of node and its childrens children... This will post a treeStructureChanged event.
 public  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.
 public  void nodesWereInserted(TreeNode node,
    int[] childIndices) 
    Invoke this method after you've inserted some TreeNodes into node. childIndices should be the index of the new elements and must be sorted in ascending order.
 public  void nodesWereRemoved(TreeNode node,
    int[] childIndices,
    Object[] removedChildren) 
    Invoke this method after you've removed some TreeNodes from node. childIndices should be the index of the removed elements and must be sorted in ascending order. And removedChildren should be the array of the children objects that were removed.
 public  void reload() 
    Invoke this method if you've modified the {@code TreeNode}s upon which this model depends. The model will notify all of its listeners that the model has changed.
 public  void reload(TreeNode node) 
    Invoke this method if you've modified the {@code TreeNode}s upon which this model depends. The model will notify all of its listeners that the model has changed below the given node.
 public  void removeNodeFromParent(MutableTreeNode node) 
    Message this to remove node from its parent. This will message nodesWereRemoved to create the appropriate event. This is the preferred way to remove a node as it handles the event creation for you.
 public  void removeTreeModelListener(TreeModelListener l) 
    Removes a listener previously added with addTreeModelListener().
 public  void setAsksAllowsChildren(boolean newValue) 
    Sets whether or not to test leafness by asking getAllowsChildren() or isLeaf() to the TreeNodes. If newvalue is true, getAllowsChildren() is messaged, otherwise isLeaf() is messaged.
 public  void setRoot(TreeNode root) 
    Sets the root to root. A null root implies the tree is to display nothing, and is legal.
 public  void valueForPathChanged(TreePath path,
    Object newValue) 
    This sets the user object of the TreeNode identified by path and posts a node changed. If you use custom user objects in the TreeModel you're going to need to subclass this and set the user object of the changed node to something meaningful.