所以这是一种挖掘的方法,每当添加新节点时调用.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)
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top