Here is my application.

What I want to do is make it so that when the user's details are updated, so does it's node in the JTree. Is this possible; even though the JTree and it's rendered cells have already been created?
I need an example of updating a rendered cell even after it has already been created.
Here is my View code:
void createTree() {
    rootNode = new DefaultMutableTreeNode("users");
    for (User user : listOfUsers) {
        String id = user.getId();
        File file = new File(id);
        DefaultMutableTreeNode node = new DefaultMutableTreeNode(file);
        rootNode.add(node);
    }
    treeModel = new DefaultTreeModel(rootNode);
    tree = new JTree(rootNode);
}
void addTreeModelListener(TreeModelListener a) {
    treeModel.addTreeModelListener(a);
}
void repaintTree() {
    treeModel.reload();
    tree.revalidate();
    tree.repaint();
}
And here is my Controller code:
view.addTreeModelListener(new MyTreeModelListener());
class MyTreeModelListener implements TreeModelListener {
    public void treeNodesChanged(TreeModelEvent e) {
        DefaultMutableTreeNode node;
        node = (DefaultMutableTreeNode)(e.getTreePath().getLastPathComponent());
        int index = e.getChildIndices()[0];
        node = (DefaultMutableTreeNode)(node.getChildAt(index));
        System.out.println("The user has finished editing the node.");
        System.out.println("New value: " + node.getUserObject());       
    }
    public void treeNodesInserted(TreeModelEvent e) {}
    public void treeNodesRemoved(TreeModelEvent e) {}
    public void treeStructureChanged(TreeModelEvent e) {}
}
The idea is after the changes to the objects have been made, I call the repaintTree() method. After looking over the code now, I think the problem lies in the fact that I'm changing the object details and not the node details, but that's just a hunch.
Please reply soon, many thanks.
 
    