1

我创建了一个 JTree,我想在其中突出显示一个文件,如果包含该文件的目录不可见,我需要展开它。

例如:我创建了一个根节点为 D:/Company/abb/src 的 JTree。我要强调的文件是 - D:/Company/abb/src/bin/help.txt

请给我一些逻辑来突出显示文件 help.txt。

提前致谢

4

2 回答 2

1

我有一个代表文件系统的 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()]));
    }
于 2009-04-26T03:57:50.363 回答
0

杰树makeVisible()应该是你需要的。

于 2009-03-12T10:11:39.967 回答