我创建了一个 JTree,我想在其中突出显示一个文件,如果包含该文件的目录不可见,我需要展开它。
例如:我创建了一个根节点为 D:/Company/abb/src 的 JTree。我要强调的文件是 - D:/Company/abb/src/bin/help.txt
请给我一些逻辑来突出显示文件 help.txt。
提前致谢
我有一个代表文件系统的 JTree。这是我的代码,用于选择特定目录(如果需要,树会展开并滚动视图)。
JTree fsTree;
void setSelectedPath(String pth) {
TreePath jtp=buildTreePath(new File(pth));
fsTree.setSelectionPath(jtp);
if(fsTree.getSelectionPath()==null) { fsTree.setSelectionRow(0); }
else { fsTree.scrollPathToVisible(jtp); }
}
public TreePath buildTreePath(File dir) {
ArrayList elms=new ArrayList();
do { elms.add(0,dir); } while((dir=dir.getParentFile())!=null);
elms.add(0,root);
return new TreePath(elms.toArray(new File[elms.size()]));
}
杰树。makeVisible()应该是你需要的。