Сохранение расширенного состояния JTree при добавлении элементов в узлы
Здравствуйте, у меня есть вопрос относительно сохранения состояния расширения при изменении DefaultTreeModel. В настоящее время у меня есть jTree, который выглядит так:
Если я выберу элемент из левого JList и выберу TestGr из правого Jtree и нажму кнопку "Добавить тестовый набор", он добавит выбранные элементы в DefaultTreeModel. Это разрушит дерево:
Я хотел бы как-то сохранить предыдущее состояние расширения и просто обновить дерево, чтобы показать недавно добавленный элемент, например, так:
Моя цель - сохранить ранее расширенное состояние, каким бы оно ни было, и когда я добавляю элементы в TestGr, все, что было расширено, должно оставаться развернутым и обновляться с новым элементом. У кого-нибудь есть идеи, как мне этого добиться? Я пробовал решение из состояния хранилища / расширенные узлы jtree для восстановления состояния, но оно не подходит, потому что когда я обновляю свой DefaultTreeModel, количество строк тоже обновляется, и это расширяет неправильные строки. Заранее спасибо за подсказку.
1 ответ
Решение состоит в том, чтобы использовать метод перезагрузки DefaultTreeModel, но для определенного узла. например:
DefaultTreeModel model;
DefaultMutableTreeNode node;
//Initialize or change model
model.reload(node);
enter code here