Есть ли быстрый способ расширить множество путей в JTree? - PullRequest
1 голос
/ 23 ноября 2010

У меня большое JTree, и мне нужно одновременно развернуть тысячи узлов.Прямо сейчас это занимает много времени.Я думаю, это потому, что он запускает уведомления и делает всю работу за каждого.Есть ли какой-нибудь способ сказать ему, чтобы он расширял все узлы в пакете, чтобы он обновлялся только один раз?

Или какой-то другой способ ускорить расширение большого количества узлов в пакете?

1 Ответ

0 голосов
/ 23 ноября 2010

Вы пытались отключить прослушиватели событий дерева?Таким образом, он не будет запускать события каждый раз, когда вы изменяете дерево.Как то так:

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

//modify the tree

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