我目前正在使用JTree,更确切地说是使用CheckBoxTree,这是一个由JIDE创建的继承类。我需要找到一种重置树的方法,意思是:
我尝试取消设置Tree变量,treeModel并刷新UI,但它不起作用。
有什么想法吗?
答案 0 :(得分:1)
单独取消设置变量无济于事 - 所有这一切都会丢失对JTree对象的引用副本。
你需要做什么删除包含对象保存到JTree的引用 - 我假设你有某种GridContainer或Layout对象 - 从父ojbect中删除它,然后在该对象上调用updateUI。
答案 1 :(得分:1)
为了擦除节点,您应该获取树模型并清除它或设置新的树模型。
要清除选择,请在树上调用clearSelection()
(请注意setModel(...)
已调用clearSelection()
所以如果您想同时执行这两项操作,只需设置新模型并重新绘制)。
答案 2 :(得分:0)
只需在每次迭代开始时重建树。
这种东西
RootNode=new CheckBoxTreeNode("root");
CheckBoxTree= new CheckBoxTree(RootNode);
会做到这一点。无需调用updateUI。希望这有帮助。