¿Cómo puedo borrar un modelo JTree? (Extracción de todos los nodos)
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);
}
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