Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有一种快速的方法来扩展JTree中的多条路径?_Java_Performance_Jtree - Fatal编程技术网

Java 有没有一种快速的方法来扩展JTree中的多条路径?

Java 有没有一种快速的方法来扩展JTree中的多条路径?,java,performance,jtree,Java,Performance,Jtree,我有一个很大的JTree,需要同时扩展数千个节点。现在,这需要很长时间。我想这是因为它会发出通知,为每个人做所有的工作。有没有办法告诉它展开一批中的所有节点,这样它只需要在之后更新一次 或者通过其他方式加快批处理中大量节点的扩展速度?您是否尝试过禁用树的事件侦听器?这样,它就不会在每次修改树时触发事件。大概是这样的: setVisible(false); tree.removeTreeWillExpandListener(this); tree.removeTreeSelectionListen

我有一个很大的JTree,需要同时扩展数千个节点。现在,这需要很长时间。我想这是因为它会发出通知,为每个人做所有的工作。有没有办法告诉它展开一批中的所有节点,这样它只需要在之后更新一次


或者通过其他方式加快批处理中大量节点的扩展速度?

您是否尝试过禁用树的事件侦听器?这样,它就不会在每次修改树时触发事件。大概是这样的:

setVisible(false);
tree.removeTreeWillExpandListener(this);
tree.removeTreeSelectionListener(this);

//modify the tree

tree.addTreeSelectionListener(this);
tree.addTreeWillExpandListener(this);
setVisible(true);

如果我删除所有侦听器,那么树就不会扩展。一旦我尝试扩展它,它就会触发所有事件或其他。。。当有令人沮丧的扩展事件时,它会启动许多选择事件。树可能会触发事件。。。但是没有什么可以听他们的。您仍然可以在没有侦听器的情况下展开树。您只是在扩展后将它们添加回来。鉴于我们尚未发布您的SSCCE(),其中显示了您用于扩展节点的代码,我不知道我们如何提出建议来执行不同的操作。