如何向JTree添加元素?

时间:2018-11-16 16:36:47

标签: java user-interface jtree

因此,我创建了一个JTree,并且每当用户单击按钮时,我都想添加一个名为“ Hello”的节点。这是用户单击按钮时执行的功能:

private static void addModel() {
    MainWindow mainWindow = new MainWindow();
    DefaultTreeModel model = (DefaultTreeModel) mainWindow.tree1.getModel();
    DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) mainWindow.tree1.getLastSelectedPathComponent();
    System.out.println("2");
    if (selectedNode != null) {
        selectedNode.insert(new DefaultMutableTreeNode("Hello"), selectedNode.getIndex(selectedNode.getLastChild()));
        model.reload(selectedNode);
        System.out.println("1");
    }
    mainWindow.tree1.setModel(model);
}

基本上应该获得模型,获得选定的节点,如果选择了一个节点,则在末尾插入一个新节点,重新加载它,然后将树的模型设置为新模型。打印到控制台的数字仅用于确保每个部分都在运行,无论我做什么,选择不同的节点或其他任何东西,我只会得到2s(aka selectedNode始终等于null) 。为什么会这样,以及如何将新组件添加到我的JTree中?

0 个答案:

没有答案