比方说,我有一个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做任何事情.(当然访问私有方法不是我的问题:)
试试这个:
firstNode.add(new DefaultMutableTreeNode("leaf node"));
Run Code Online (Sandbox Code Playgroud)
更新:根据您的注释,您必须具有要添加新叶的节点的引用.如果您正在响应树中的树选择事件,那么您可以通过以下方式获取引用:
DefaultMutableTreeNode firstNode = (DefaultMutableTreeNode)jTree.getSelectionPath().getLastPathComponent();
Run Code Online (Sandbox Code Playgroud)