我正在尝试从DefaultTreeModel
中删除节点。如果我尝试删除单个节点,它不会从 GUI 中删除。如果我删除 2 个节点,则只有其中 1 个被删除,依此类推。
我正在使用removeNodeFromParent(node);
来删除节点。
有人可以帮我解决这个问题吗?
听起来你的树没有检测到应该由removeNodeFromParent(node);
方法触发的nodesWereRemoved
事件。
是否使用标准DefaultTreeModel
和JTree
对象?如果是这样,它们应该在执行删除时自动刷新。如果编写了任一类的自定义,则可能没有处理 nodesWereRemoved
事件(在自定义JTree
中),或者没有触发事件(在自定义DefaultTreeModel
中)。
如果您使用的是标准对象,请尝试在删除节点后调用 JTree.revalidate();
和 JTree.repaint();
,以强制从模型更改中重新绘制树。
最后一个建议,您是否尝试过任何removeXXX()
JTree
方法?