1

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

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

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

4

1 回答 1

0

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

您是否使用标准DefaultTreeModelJTree对象?如果是这样,它们应该在删除时自动刷新。如果您编写了任一类的自定义,则您可能没有处理nodesWereRemoved事件(在您的 custom 中JTree),或者您没有触发事件(在您的 custom 中DefaultTreeModel)。

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

最后的建议,您是否尝试过任何removeXXX()方法JTree

于 2012-05-23T13:49:23.193 回答