Я предполагаю, что вы используете DefaultTreeModel.
Я решил эту проблему с помощью пользовательской TreeModel . Это может показаться сложным, но как только вы попадаете в это, вы видите, что это не так уж плохо. У вас есть только 8 методов для реализации, и большинство из них довольно тривиальны, если у вас уже есть древовидная структура данных.
Основным преимуществом этого подхода является то, что вы получаете полный контроль над базовой моделью.