2012-10-02 45 views
5

तो यह मेरा एक तरीका है जिसे हर बार एक नया नोड जोड़ा जाता है। मुझे मॉडल को हर बार साफ़ करने की आवश्यकता होती है। DefaultListModel में एक .clear() विधि है। DefaultTreeModel नहीं करता है। मदद करें?मैं एक जेट्री मॉडल कैसे साफ़ करूं? (सभी नोड्स को हटा रहा है)

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

} 
+1

क्या आपने रूट नोड का उपयोग करने का प्रयास किया था, और 'removeAllChildren() 'विधि का उपयोग किया था? – DejanLekic

+0

यह काम नहीं करता है। –

+1

यह काम करता है। लेकिन मुझे मॉडल.reload() भी कहा जाता है। –

उत्तर

4

मैंने इसे काम किया। नया कोड इस तरह दिखता है।

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

आप वास्तव में करने की जरूरत है जड़ नोड आप मॉडल अशक्त करना चाहिए सहित सभी नोड्स को हटा दें। इस तरह:

mytree.setModel(null) 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^