Удаленные узлы defaultTreeModel все еще показаны в таблице
Я пытаюсь удалить узлы из DefaultTreeModel
, Если я пытаюсь удалить один узел, он не удаляется из GUI. Если я удаляю 2 узла, удаляется только 1 из них и т. Д.
я использую removeNodeFromParent(node);
удалить узлы.
Может кто-нибудь, пожалуйста, помогите мне с этой проблемой.
1 ответ
Похоже, ваше дерево не обнаруживает nodesWereRemoved
событие, которое должно быть вызвано removeNodeFromParent(node);
метод.
Вы используете стандарт DefaultTreeModel
а также JTree
объекты? Если это так, они должны автоматически обновляться при удалении. Если вы написали обычай любого из классов, вы, вероятно, не обрабатываете nodesWereRemoved
событие (в вашем обычае JTree
), или вы не запускаете событие (по вашему усмотрению DefaultTreeModel
).
Если вы используете стандартные объекты, попробуйте вызвать JTree.revalidate();
а также JTree.repaint();
после того, как вы удалите узел, чтобы заставить дерево перекрашиваться из вашей модели изменения.
Последнее предложение, вы пробовали любой из removeXXX()
методы JTree
вместо?