1 19 package org.openharmonise.him.swing.resourcetree; 20 21 import java.util.*; 22 import java.util.ArrayList ; 23 24 import javax.swing.tree.*; 25 import javax.swing.tree.DefaultTreeModel ; 26 import javax.swing.tree.TreeNode ; 27 28 35 public class TreeModel extends DefaultTreeModel { 36 37 42 public TreeModel(TreeNode root) { 43 super(root); 44 } 45 46 52 public TreeModel(TreeNode root, boolean asksAllowsChildren) { 53 super(root, asksAllowsChildren); 54 } 55 56 57 58 61 protected void fireTreeNodesChanged( 62 Object arg0, 63 Object [] arg1, 64 int[] arg2, 65 Object [] arg3) { 66 super.fireTreeNodesChanged(arg0, arg1, arg2, arg3); 67 } 68 69 72 protected void fireTreeNodesInserted( 73 Object arg0, 74 Object [] arg1, 75 int[] arg2, 76 Object [] arg3) { 77 super.fireTreeNodesInserted(arg0, arg1, arg2, arg3); 78 } 79 80 83 protected void fireTreeNodesRemoved( 84 Object arg0, 85 Object [] arg1, 86 int[] arg2, 87 Object [] arg3) { 88 super.fireTreeNodesRemoved(arg0, arg1, arg2, arg3); 89 } 90 91 94 public void fireTreeStructureChanged( 95 Object arg0, 96 Object [] arg1, 97 int[] arg2, 98 Object [] arg3) { 99 super.fireTreeStructureChanged(arg0, arg1, arg2, arg3); 100 } 101 102 108 public TreePath getTreePath(String sPath) { 109 TreePath tPath = null; 110 ArrayList nodes = new ArrayList (); 111 112 DefaultMutableTreeNode root = (DefaultMutableTreeNode) this.getRoot(); 113 114 nodes.add(root); 115 116 DefaultMutableTreeNode currNode = null; 117 118 Enumeration children = root.children(); 119 120 while (children != null && children.hasMoreElements()) { 121 org.openharmonise.him.swing.resourcetree.TreeNode child = (org.openharmonise.him.swing.resourcetree.TreeNode) children.nextElement(); 122 123 String sTempPath = child.getFilePath(); 124 125 if(sPath.startsWith(sTempPath)) { 126 nodes.add(child); 127 128 if(child.isLeaf() == false) { 129 children = child.children(); 130 } else { 131 children = null; 132 } 133 134 } 135 } 136 137 DefaultMutableTreeNode[] pathArray = (DefaultMutableTreeNode[]) nodes.toArray(new DefaultMutableTreeNode[nodes.size()]); 138 139 tPath = new TreePath(pathArray); 140 141 return tPath; 142 } 143 144 } 145 | Popular Tags |