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