Не удается выделить файл в JTree - PullRequest
1 голос
/ 12 марта 2009

Я создал JTree, в котором я хочу выделить файл, и если каталог, содержащий файл, невидим, мне нужно его развернуть.

Ex: Я создал JTree с корневым узлом - D: / Company / abb / src. Файл, который я хочу выделить, - D: /Company/abb/src/bin/help.txt

Пожалуйста, дайте мне немного логики, чтобы выделить файл help.txt.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 26 апреля 2009

У меня есть 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()]));
    }
0 голосов
/ 12 марта 2009

JTree . makeVisible () должно быть тем, что вам нужно.

...