删除的defaultTreeModel节点仍显示在表中

时间:2012-05-23 13:35:07

标签: java swing jtree treemodel

我正在尝试从DefaultTreeModel中删除节点。如果我尝试删除单个节点,则不会从GUI中删除它。如果我删除2个节点,其中只有1个被删除,等等。

我正在使用removeNodeFromParent(node);删除节点。

有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

听起来您的树没有检测到应由nodesWereRemoved方法触发的removeNodeFromParent(node);事件。

您使用的是标准DefaultTreeModelJTree对象吗?如果是这样,他们应该在删除时自动刷新。如果您已经编写过该课程的自定义内容,则可能无法处理nodesWereRemoved事件(在您的自定义JTree中),或者您没有触发该事件(在您的自定义DefaultTreeModel)。

如果您正在使用标准对象,请在删除节点后尝试调用JTree.revalidate();JTree.repaint();,以强制从模型更改中重新绘制树。

最后一个建议是,您是否尝试了removeXXX()的任何JTree方法?