java - 向 jTree 节点添加新叶子

标签 java swing

比方说,我有一个 jTree 的代码

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

    DefaultMutableTreeNode firstNode = new DefaultMutableTreeNode("first node") ;

现在我想从 firstNode 变量不可用的地方添加一个叶子到名为“first node”(当前是叶子)的节点中。如何做呢?

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

最佳答案

试试这个:

firstNode.add(new DefaultMutableTreeNode("leaf node"));

更新:根据您的评论,您必须引用要在其下添加新叶子的节点。如果你正在响应树中的树选择事件,那么你可以通过以下方式获取引用:

DefaultMutableTreeNode firstNode = (DefaultMutableTreeNode)jTree.getSelectionPath().getLastPathComponent();

关于java - 向 jTree 节点添加新叶子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7309331/

相关文章:

java - JTables 单元格对齐

java - 仅启用 2 个 Swing 复选框中的 1 个

java - 内联类导致应用程序未运行

Java:如何检查字符串是否是任何 LinkedList 元素的一部分?

java - 递归函数导致 StackOverflowError

java - 从 rgb 像素值创建缓冲图像

java - 使用 For 循环生成多个字符串

java - 绘制到特定的 JPanel

java - JButton 文本在设置 Action 时发生变化

java - Java中图像闪烁