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