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

}
.

È stato utile?

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
scroll top