在java GUI中更新JTree

saj*_*jad 10 java jtree

我在GUI中使用了JTree并将其添加到JFrame中.当我想更新它并在程序的另一部分中更改它的节点时(当程序正在运行时,作为执行的操作)我尝试添加新节点,或者删除节点; 但我的界面不会改变.请建议我一个解决方案.

问候

cam*_*ckr 16

除了insertNodeInto建议,您还可以使用:

DefaultTreeModel model = (DefaultTreeModel)tree.getModel();
DefaultMutableTreeNode root = (DefaultMutableTreeNode)model.getRoot();
root.add(new DefaultMutableTreeNode("another_child"));
model.reload(root);
Run Code Online (Sandbox Code Playgroud)

  • 这将起作用,但在处理大树时是一种"强力"方法.例如,如果我要循环并向已经包含50,000个项目的树添加1000个节点,那么这将是非常低效的. (3认同)