/** * Fires a node changed event */ public void fireNodeChanged(TreePath path, int index) { int[] indices= {index}; Object[] changedChildren= {getChild(path.getLastPathComponent(), index)}; TreeModelEvent event= new TreeModelEvent(this, path, indices, changedChildren); Enumeration e= fModelListeners.elements(); while (e.hasMoreElements()) { TreeModelListener l= (TreeModelListener) e.nextElement(); l.treeNodesChanged(event); } } /**
public void run() { Vector vpath= new Vector(); int index= fModel.findTest(test, (Test)fModel.getRoot(), vpath); if (index >= 0) { Object[] path= new Object[vpath.size()]; vpath.copyInto(path); TreePath treePath= new TreePath(path); fModel.fireNodeChanged(treePath, index); if (expand) { Object[] fullPath= new Object[vpath.size()+1]; vpath.copyInto(fullPath); fullPath[vpath.size()]= fModel.getChild(treePath.getLastPathComponent(), index);; TreePath fullTreePath= new TreePath(fullPath); fTree.scrollPathToVisible(fullTreePath); } } } }
public void revealFailure(Test failure) { JTree tree= fTreeBrowser.getTree(); TestTreeModel model= (TestTreeModel)tree.getModel(); Vector vpath= new Vector(); int index= model.findTest(failure, (Test)model.getRoot(), vpath); if (index >= 0) { Object[] path= new Object[vpath.size()+1]; vpath.copyInto(path); Object last= path[vpath.size()-1]; path[vpath.size()]= model.getChild(last, index); TreePath selectionPath= new TreePath(path); tree.setSelectionPath(selectionPath); tree.makeVisible(selectionPath); } }