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
}
});
您需要通知'TreeModel',像['JTree的#insertNodeInto'(HTTP://文檔.oracle.com/javase/7/docs/api/javax/swing/tree/DefaultTreeModel.html#insertNodeInto(javax.swing.tree.MutableTreeNode,%20javax.swing.tree.MutableTreeNode,%20int))和['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
請參閱[文件瀏覽器GUI ](http://codereview.stackexchange.com/q/4446/7784)爲例。 –