JTree:如何选择第一片叶子

Jam*_*ame 2 java swing jtree selection

我正在使用Netbeans在JAVA中开发一个小型桌面应用程序.我放置一个JTree并动态填充它.现在每件事都很顺利,我希望实现以下两件事:

  1. 当JTree被耦合时,它将自动扩展意味着它将开始显示其所有节点,直到叶级
  2. 默认情况下应选择第一个叶节点.

我如何实现这两种行为?

Ing*_*gel 7

展开所有节点(任意深度):

for (int i = 0; i < tree.getRowCount(); i++) {
    tree.expandRow(i);
}
Run Code Online (Sandbox Code Playgroud)

选择第一片叶子:

DefaultMutableTreeNode firstLeaf = ((DefaultMutableTreeNode)tree.getModel().getRoot()).getFirstLeaf();
tree.setSelectionPath(new TreePath(firstLeaf.getPath()));
Run Code Online (Sandbox Code Playgroud)