JTree с построителем форм

Я создал форму со стандартным редактором NetBeans и вставил 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 содержимое во время выполнения.

1 ответ

Решение

Проблема в следующем вы создаете свой JTree как это JTree tree = new JTree() (согласно документации) у него есть образцы узлов. Добавьте следующие строки после создания ваших узлов (root,child1,child2), и все будет работать:

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

Также вам не нужно звонить jTree1.removeAll(); используется для других целей.( документы)

Читать учебник для JTree

Инициализируйте JTree внутри метода createUIComponents() настраиваемого инициализатора графического интерфейса.

Чтобы создать собственный исходный код инициализатора графического интерфейса пользователя для определенного компонента, выполните следующую общую процедуру:

  1. Выберите желаемый компонент.

  2. В Инспекторе отметьте опцию Custom Create.

  3. В текстовом редакторе найдите метод createUIComponents() и введите желаемый исходный код. Код в этом методе не будет удален при компиляции.

Полное объяснение:https://www.jetbrains.com/help/idea/creating-form-initialization-code.html

Другие вопросы по тегам