所以这是我的一个方法,每次添加一个新节点时都会调用它。我需要每次都清除模型.DefaultListModel有一个.clear()方法.DextaultTreeModel没有。帮助?
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);
}
答案 0 :(得分:4)
我解决了。新代码看起来像这样。
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);
}
}
答案 1 :(得分:1)
如果您确实需要删除所有节点,包括root 节点,则应将模型设为null。像这样:
mytree.setModel(null)