2
    tree.addTreeExpansionListener(new TreeExpansionListener() {
        @Override
        public void treeExpanded(TreeExpansionEvent event) {
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) event
                            .getPath().getLastPathComponent();
            node.removeAllChildren();
            //System.out.println(node.getChildCount());
            child = new DefaultMutableTreeNode("new node");
            node.add(child);;

            frame.doLayout();
            frame.repaint();

        }

        @Override
        public void treeCollapsed(TreeExpansionEvent event) {
            // TODO Auto-generated method stub

        }
    });
Bruno Lowagie
  • 75,994
  • 9
  • 109
  • 165
Gev
  • 125
  • 1
  • 1
  • 5
  • 1
    You need to notify the `TreeModel`, something like [`JTree#insertNodeInto`](http://docs.oracle.com/javase/7/docs/api/javax/swing/tree/DefaultTreeModel.html#insertNodeInto(javax.swing.tree.MutableTreeNode,%20javax.swing.tree.MutableTreeNode,%20int)) and [`TreeModel#removeNodeFromParent`](http://docs.oracle.com/javase/7/docs/api/javax/swing/tree/DefaultTreeModel.html#removeNodeFromParent(javax.swing.tree.MutableTreeNode)), for [example](http://stackoverflow.com/questions/22683092/jtree-avoid-collapse-after-reload/22683989#22683989) – MadProgrammer Apr 16 '15 at 06:57
  • 1
    See the [File Browser GUI](http://codereview.stackexchange.com/q/4446/7784) for an example. – Andrew Thompson Apr 16 '15 at 10:23

0 Answers0