Comment effacer un modèle Jtree? (Suppression de tous les nœuds)
Question
Il s'agit donc d'une méthode de mine appelée chaque fois qu'un nouveau nœud est ajouté.Je besoin du modèle effacé à chaque fois .Le titrelistmodel a une méthode de fichier .lefear (). La défaillancetreReemodel ne pas.
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);
}
La solution
Je l'ai travaillé. Le nouveau code ressemble à ceci.
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);
}
}
Autres conseils
Si vous avez besoin de Supprimer tous les nœuds y compris le nœud racine , vous devez faire du modèle null.Comme ceci:
mytree.setModel(null)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow