JTree не показывает изменения после insertNodeInto
У меня есть JTree, который должен быть заполнен во время загрузки данных. Я создаю дерево с DefaultTreeModel
final DefaultTreeModel treeModel = new DefaultTreeModel(root);
jTree1 = new JTree(treeModel);
Где root - это реализация MutableTreeNode. Когда данные, которые мне нужно показать, изменены или добавлены, запускается прослушиватель, который вызывает
public void exStateAdded(final ExState parent, ExState child) {
final ExStateTreeNode exStateTreeNode = new ExStateTreeNode(child);
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
treeModel.insertNodeInto(exStateTreeNode, root, root.getChildCount());
}
});
Отладчик показывает, что вставка вызывается, но само дерево не отражает изменения. Если я позвоню reload()
дерево нарисовано, но оно также сворачивает все узлы. Модель меняется, и узлы добавляются правильно. Что это мне не хватает?