Come posso cancellare un modello JTree? (Rimozione di tutti i nodi)
Domanda
Quindi questo è un mio metodo che viene chiamato ogni volta che viene aggiunto un nuovo nodo. Ho bisogno del modello cancellato ogni volta. Il metodo di defaultISTMODEL ha un metodo .Clear (). Il defaultTreeModel non è.
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);
}
. Soluzione
L'ho lavorato. Il nuovo codice sembra questo.
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);
}
}
. Altri suggerimenti
Se è effettivamente necessario Elimina Tutti i nodi inclusa il nodo root dovresti rendere il modello null.In questo modo:
mytree.setModel(null)
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow