Удаленные узлы defaultTreeModel все еще показаны в таблице

Я пытаюсь удалить узлы из DefaultTreeModel, Если я пытаюсь удалить один узел, он не удаляется из GUI. Если я удаляю 2 узла, удаляется только 1 из них и т. Д.

я использую removeNodeFromParent(node); удалить узлы.

Может кто-нибудь, пожалуйста, помогите мне с этой проблемой.

1 ответ

Похоже, ваше дерево не обнаруживает nodesWereRemoved событие, которое должно быть вызвано removeNodeFromParent(node); метод.

Вы используете стандарт DefaultTreeModel а также JTree объекты? Если это так, они должны автоматически обновляться при удалении. Если вы написали обычай любого из классов, вы, вероятно, не обрабатываете nodesWereRemoved событие (в вашем обычае JTree), или вы не запускаете событие (по вашему усмотрению DefaultTreeModel).

Если вы используете стандартные объекты, попробуйте вызвать JTree.revalidate(); а также JTree.repaint(); после того, как вы удалите узел, чтобы заставить дерево перекрашиваться из вашей модели изменения.

Последнее предложение, вы пробовали любой из removeXXX() методы JTree вместо?

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