Я использую JTree с TreeNode, которые простирающийся DefaultMutableTreeNode.when добавить новый узел, я не могу обновить JTree.Any помощь будет оцененаКак обновить JTree элементы
ответ
Добавление к узлу только не хватает, дерево должно быть уведомленным. Правильный способ сделать это - позволить модели позаботиться о добавлении/удалении узлов, так как она правильно сообщит Дерево на этом пути.
В случае DefaultTreeModel (который должен использоваться в JTree, если вы еще не создали свой собственный TreeModel), у вас есть способ insertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index), который вы можете использовать.
Поскольку Java использует MVC для реализации компонента JTree, ваша операция, которая добавляет узел, просто изменяет модель. Кроме того, вы должны уведомить о представлении дерева, некоторые изменения произошли. Попробуйте использовать методы fireTreeNodes *** вашей древовидной модели, чтобы уведомить объект JTree об этой модификации. Обратитесь к Java API за подробностями. Удачи.
Вы используете DefaultTreeModel
?
Если это так, при добавлении API insertNodeInto, чтобы генерировались соответствующие события.
Если вы используете DefaultTreeModel, попробуйте вызвать его метод reload()
.
DefaultTreeModel model = (DefaultTreeModel) tree.getModel();
model.reload();
//or... model.reload(nodeUpdatedByYou);
Никогда не используйте tree.updateUI()
, как это внешний вид и работу (хотя она работает).
На самом деле, достаточно перезагрузить родительский узел. Внутренне
public void reload()
использует
public void reload(TreeNode node)
но с корнем в качестве параметра, поэтому, если вы не обновляете лист прямого суперпользователя, вы лучше использовать более мелкозернистую версию.
- 1. Как обновить JTree UI
- 2. Обновить JTree без сворачивания
- 3. Как обновить содержимое JTree в java?
- 4. Как обновить элементы списка?
- 5. Как обновить элементы localStorage?
- 6. Как получить JTree расширен?
- 7. JTree с DefaultTreeModel, как обновить визуально после загрузки?
- 8. Как обновить JTree после добавления некоторых узлов в базовую модель?
- 9. Как обновить элементы DataGrid автоматически?
- 10. Как обновить элементы управления Silverlight?
- 11. как обновить элементы, содержащие отношение
- 12. Как обновить элементы управления FormArray
- 13. Вставьте ребенка в JTree TreeNode и обновить представление
- 14. Как инициализировать JTree?
- 15. Как создать JTree ExpansionListener
- 16. Как построить jtree динамически
- 17. Как отключить лист JTree
- 18. JTree иногда не расширяется
- 19. Реализация JTree || Настройка JTree по-своему
- 20. обновить все выбранные элементы
- 21. Обновить меню Элементы onConfigurationChanged
- 22. обновить элементы, используя jsGrid
- 23. JTree объектов?
- 24. Обновить элементы в DragSortListView
- 25. Обновить элементы в представлении
- 26. Обновить элементы для selectOneMenu
- 27. Обновить/Обновить элементы панели вкладок в ViewController?
- 28. Поиск JTree
- 29. Дублирование JTree
- 30. Реализация JTree
Избегайте дублирования ответов, хотя, если вы не принесете ничего нового. – Gnoupi
Buddy @Gnoupi - голосующий голос был невостребован. Мы одновременно ответили на вопрос. Я видел в нескольких случаях, что к тому времени, когда я закончу, введите свой ответ и сообщение, обновится несколько новых ответов. Подойдите сами. –
вы ответили через полчаса, сказав в основном то же самое, это не то, что я бы назвал «одновременно». Как я уже сказал, избегайте дублирования, так как это в конечном итоге создает беспорядок. Если ответ уже говорит о том, что вы должны сказать, вы можете просто не публиковать свои данные или удалять, если они уже отправлены. – Gnoupi