如何在jtree中插入根节点后自动打开子节点?

Bab*_*u R 1 java swing expand jtree listener

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

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

提前致谢..

kle*_*tra 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());
Run Code Online (Sandbox Code Playgroud)