我如何清除jtree模型?(删除所有节点)
题
所以这是一种挖掘的方法,每当添加新节点时调用.I需要每次清除模型。defaultListmodel具有.clear()方法。defaulttreeemodel没有.help?
public void fillUserList(){
List<User> userFriends = ClientController.getInstance().getPrieteniiUserului(user);
for(int i=0;i<userFriends.size();i++){
User user = userFriends.get(i);
model.insertNodeInto(new DefaultMutableTreeNode(user.getNume()), root, i);
}
System.out.println(userFriends);
}
. 解决方案
我把它搞砸了。新代码看起来像这样。
public void fillUserList(){
List<User> userFriends = ClientController.getInstance().getPrieteniiUserului(user);
root.removeAllChildren(); //this removes all nodes
model.reload(); //this notifies the listeners and changes the GUI
for(int i=0;i<userFriends.size();i++){
User user = userFriends.get(i);
model.insertNodeInto(new DefaultMutableTreeNode(user.getNume()), root, i);
}
}
. 其他提示
如果您实际上需要删除所有节点,包括root 节点,您应该使模型为null。像这样:
mytree.setModel(null)
. 不隶属于 StackOverflow