将新叶添加到jTree节点

Dew*_*rld 1 java swing

比方说,我有一个jTree代码

    JTree jTree = new JTree() ;
    DefaultMutableTreeNode root = new DefaultMutableTreeNode("root") ;
    jTree.setModel( new DefaultTreeModel(root));

    DefaultMutableTreeNode firstNode = new DefaultMutableTreeNode("first node") ;
Run Code Online (Sandbox Code Playgroud)

现在我想从firstNode变量不可用的地方向名为"第一个节点"(当前是叶子)的节点添加一个叶子.怎么做到呢?

澄清:好!我在类中有一个JFrame(扩展swing),jTree是这个类的私有成员.现在我将这个类对象(作为参数)传递给另一个应该填充jTree的类方法.但是我不能用另一个类方法对jTree做任何事情.(当然访问私有方法不是我的问题:)

Swa*_*rma 5

试试这个:

firstNode.add(new DefaultMutableTreeNode("leaf node"));
Run Code Online (Sandbox Code Playgroud)

更新:根据您的注释,您必须具有要添加新叶的节点的引用.如果您正在响应树中的树选择事件,那么您可以通过以下方式获取引用:

DefaultMutableTreeNode firstNode = (DefaultMutableTreeNode)jTree.getSelectionPath().getLastPathComponent();
Run Code Online (Sandbox Code Playgroud)