The list of methods to do JTree Model are organized into topic(s).
Object
findChildNode(TreeModel model, Object node, String text) Returns the node with the given text below the given node in the specified TreeModel
for (int i = 0; i < model.getChildCount(node); i++) {
Object currNode = model.getChild(node, i);
if (currNode.toString() != null && currNode.toString().equals(text))
return currNode;
return null;
DefaultMutableTreeNode
findTreeNode(TreeModel model, Object obj) Given an obj, find the treeNode that holds it.
DefaultMutableTreeNode result = null;
List nodesResult = new ArrayList();
nodesResult = getAllTreeNodes(model);
for (Iterator iter = nodesResult.iterator(); iter.hasNext();) {
DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) iter.next();
Object userObj = treeNode.getUserObject();
if (obj.equals(userObj)) {
result = treeNode;
...
int[]
getTreeIndents(TreeModel in) return the size of a tree starting at a specific root
int[] ret = new int[getTreeModelSize(in)];
setTreeIndents(in, in.getRoot(), ret, 0, 0);
return (ret);
int
getTreeModelSize(TreeModel in) return the size of a tree model
Object root = in.getRoot();
if (root == null)
return (0);
return (getTreeModelSize(in, root));
boolean
isTreePathInModel(TreeModel treeModel, TreePath treePath) is Tree Path In Model
if (treeModel == null)
return false;
if (treePath == null)
return false;
TreePath parentPath = treePath.getParentPath();
if (parentPath == null) {
return treeModel.getRoot() == treePath.getLastPathComponent();
if (!isTreePathInModel(treeModel, parentPath))
return false;
Object node = treePath.getLastPathComponent();
Object parent = parentPath.getLastPathComponent();
return treeModel.getIndexOfChild(parent, node) >= 0;
void
nodesChanged(DefaultTreeModel rightTreeModel) nodes Changed
DefaultMutableTreeNode root = (DefaultMutableTreeNode) rightTreeModel.getRoot();
Enumeration enumeration = root.breadthFirstEnumeration();
while (enumeration.hasMoreElements()) {
DefaultMutableTreeNode defaultMutableTreeNode = (DefaultMutableTreeNode) enumeration.nextElement();
rightTreeModel.nodeChanged(defaultMutableTreeNode);