boa noite pra galera ai,
estava precisando usar uma JTree que representava uma arvore de diretorios, penei um pouco e durante minhas pesquisas pela internet consegui achar uma classe chamada FileSystemTreeModel que deixa essa tarefa mais facil que tomar doce de criança, fiz algumas alterações nela pra que ela aceite varias raizes* e para que ela filtre determinados tipos de arquivos, exibindo apenas os que você quiser.
as classes estão em anexo, e vou colocar aqui um exemplo de como é simples utilizá-la:
JTree tree = new JTree ();
FileSystemTreeModel model = FileSystemTreeModel(); //também tem um construtor que aceita uma variavel do tipo FIle[], sendo que cada indice dessa variavel vai ser uma raiz
tree.setModel(model);
tree.setRootVisible(false)
tree.setCellRenderer(new FileSystemTreeRenderer());
*na verdade essa n foi eu que fiz, apenas juntei com as alterações de uma outra pessoa que estava numa situação parecida com a minha. os creditos estao no comentario da classe.