Just a quick post today. I was having problems refreshing a JTree and keeping the expanded paths in-tact. Instead of calling reload() on themodel i needed to be calling nodeChanged even if a node is being removed. Here is the snippet:
((DefaultTreeModel)tree.getModel()).nodeChanged(actualNode);//notify the model that the node has changed
Matt