JTree: Как выбрать первый лист - PullRequest
2 голосов
/ 01 ноября 2011

Я занимаюсь разработкой небольшого настольного приложения на JAVA с использованием Netbeans. Я помещаю JTree и динамически заполняю его. Теперь все прошло хорошо, я хочу добиться следующих двух вещей:

  1. Когда JTree накапливается, оно автоматически расширяется, значит он начнет показывать все свои узлы до уровня листа
  2. Первый листовой узел должен быть выбран по умолчанию.

Как мне достичь этих двух форм поведения?

1 Ответ

7 голосов
/ 01 ноября 2011

Развернуть все узлы (произвольная глубина):

for (int i = 0; i < tree.getRowCount(); i++) {
    tree.expandRow(i);
}

Выбрать первый лист:

DefaultMutableTreeNode firstLeaf = ((DefaultMutableTreeNode)tree.getModel().getRoot()).getFirstLeaf();
tree.setSelectionPath(new TreePath(firstLeaf.getPath()));
...