Pregunta

Por lo tanto, este es un método mío que se llama cada vez que se agrega un nuevo nodo. Necesito que el modelo se borra cada vez. La lista predeterminada tiene un método .Clear (). El valor predeterminado no hace.

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

}

¿Fue útil?

Solución

Lo trabajé. El nuevo código se ve así.

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

Otros consejos

Si realmente necesita eliminar todos los nodos incluyendo el nodo raíz Debe hacer que el modelo NULL.Me gusta esto:

mytree.setModel(null)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top