1

当我将子节点插入根节点时,根节点不会自动展开。

我想在将子节点插入根节点后自动扩展根节点。

提前致谢..

4

1 回答 1

6

没有默认的自动化,你必须自己实现它。几种可能性,都涉及注册到树模型的自定义 TreeModelListener。侦听器在接收到 treeNodesInserted 时采取行动

  • 手动将 JTree 展开到路径
  • 将选择设置为路径(如果其 expandsSelectedPaths 属性为 true,则默认扩展树)

代码片段:

class MyTreeModelListener implements TreeModelListener {

     public void treeNodesInserted(TreeModelEvent e) {
          // first option
          myTree.expandPath(e.getPath());
          // second option
          myTree.setSelectionPath(e.getPath());
     }

     // empty implementation of other listener methods
     ...
} 

// usage
myTree.getModel().addTreeModelListener(new MyTreeModelListener());
于 2012-06-18T11:21:49.290 回答