Search code examples
javamodeljtree

How do I clear a JTree model?(Removing all nodes)


So this is a method of mine that is called everytime a new node is added.I need the model cleared everytime.The DefaultListModel has a .clear() method.The DefaultTreeModel does not.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);

}

Solution

  • I worked it out.The new code looks like this.

    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);        
        }
    }