JTree与表单构建器

时间:2013-11-14 13:04:29

标签: java swing jtree removeall defaulttreemodel

我创建了一个包含默认NetBeans edito的表单,并在其上放置了jTree。 它不知何故在那里创造了许多元素,如“颜色”,“运动”,“食物”。但它不在创建代码中。它来自哪里以及如何编辑它......

即使我jTree1.removeAll();,一切仍然存在......而不是我的代码,用于向jTree工作添加新项目。

private void test(java.awt.event.MouseEvent evt) {
    //trying to remove all, but it does not remove anything
    jTree1.removeAll();

    //it does print it in debug meaning that this function is called
    System.out.println("qwe");

    //create the root node
    DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root");
    //create the child nodes
    DefaultMutableTreeNode child1 = new DefaultMutableTreeNode("Child 1");
    DefaultMutableTreeNode child2 = new DefaultMutableTreeNode("Child 2");

    //add the child nodes to the root node
    root.add(child1);
    root.add(child2);

    //now how do I add it to the tree?
    //???
}

我需要能够在运行时编辑jTree内容。

2 个答案:

答案 0 :(得分:3)

接下来你要创建JTree这样的问题JTree tree = new JTree()(根据docs)它有样本节点。在创建节点(root,child1,child2)之后添加下一行,并且所有节点都可以工作:

DefaultTreeModel model =(DefaultTreeModel) jTree1.getModel();
model.setRoot(root);

此外,您无需致电jTree1.removeAll();它用于其他目的。(docs

阅读JTree

的教程

答案 1 :(得分:0)

在自定义GUI初始化程序createUIComponents()方法中初始化JTree。

要为某个组件创建自定义GUI初始化程序源代码,请遵循以下一般步骤:

  1. 选择所需的组件。

  2. 在检查器中,选中“自定义创建”选项。

  3. 在文本编辑器中,找到方法createUIComponents(),然后键入所需的源代码。此方法中的代码不会在编译时删除。

完整说明: https://www.jetbrains.com/help/idea/creating-form-initialization-code.html