Как добавить элементы в JTree? - PullRequest
0 голосов
/ 16 ноября 2018

Итак, я создал 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);
}

По сути, она должна получить модель, получить выбранный узел, если узел выбран, затем вставить новый в конце, перезагрузитьзатем установите модель дерева в новую модель.Числа, напечатанные на консоли, предназначены исключительно для того, чтобы убедиться, что каждая часть работает, и независимо от того, что я делаю, выбираю разные узлы или что-то еще, я получаю только 2 с (иначе selectedNode всегда равно null).Почему это так, и как я могу добавить новый компонент в JTree?

...