Если бы это был я, я бы убрал кнопку «плюс» и просто загрузил бы подкаталоги, когда дерево получит развернутые события.
Итак, что вы можете сделать, это заполнить узел верхнего уровня с помощьюСкопите узел под ним и покажите дерево с узлом верхнего уровня, не развернутым.Когда пользователь его развернет, вы получите дерево, развернутое событие.Посмотрите на ребенка и посмотрите, является ли это узлом-заглушкой.Если это так, удалите его и используйте Apache Commons для загрузки потомков, заполнив каждый из них и каждый своим собственным заглушкой.
Что такое заглушка?Просто узел, который как-то говорит вам, что этот узел является заполнителем.Это означает, что вы еще не пытались загрузить детей.Скорее всего, этот класс Node будет специальным классом с именем StubNode или чем-то еще.Конечно, вам нужно только добавить узлы-заглушки в каталоги, а не в файлы, поскольку вы не будете расширять файлы.
http://www.java2s.com/Tutorial/Java/0240__Swing/TreeWillExpandListener.htm