// import javax.swing.tree.*; private DefaultTreeModel m; private DefaultMutableTreeNode act; private void open (String s) { if (m == null) { DefaultMutableTreeNode r; r = new DefaultMutableTreeNode (s); m = new DefaultTreeModel (r); jTree1.setModel (m); act = r; } else { DefaultMutableTreeNode node; node = new DefaultMutableTreeNode (s); int inx = act.getChildCount(); m.insertNodeInto (node, act, inx); act = node; } } private void put (String s) { DefaultMutableTreeNode node; node = new DefaultMutableTreeNode (s); int inx = act.getChildCount(); m.insertNodeInto (node, act, inx); } private void close () { if (act != null) act = (DefaultMutableTreeNode) act.getParent(); } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { open ("Branch"); put ("item 1"); put ("item 2"); open ("Sub Branch"); put ("sub item"); close (); put ("item 3"); close (); }