Exibir paths dos Elementos de uma JTree

Olá á todos,

Vou explicar meu objetivo e o meu problema:

Eu tenho uma JTree e gostaria de percorre-la e “printar” o path completo (a partir da raiz) de cada folha da árvore. Eu quase consegui mas a recursão está
me deixando meio maluco. O código que utilizo é o seguinte:

public void printTree(){
		
		for(int i = 0 ; i < rootNode.getChildCount() ; i++){
			DefaultMutableTreeNode son = (DefaultMutableTreeNode)rootNode.getChildAt( i );
			path = rootNode.toString() + "\\" + son.toString();
			
			if( son.getChildCount() > 0){
				oldPath = path;
				getSubNodes( son );				
			}
			else{
				
				System.out.println(path);
			}
			
		}
	}
	private void getSubNodes( DefaultMutableTreeNode node ) {  

	    for( int i = 0; i < node.getChildCount(); i++ ) {  
	    	
	        // recupera o filho   
	        DefaultMutableTreeNode son = (DefaultMutableTreeNode)node.getChildAt( i );
	        path += "\\" + son.toString();	        	          
	        // verifica se o item possui sub-itens  
	        if( son.getChildCount() > 0 ) {
	            getSubNodes( son );  
	        }
	        else{
	        	System.out.println(path);
	        	path = oldPath;
	        }
	    }
	}

Se eu criar uma arvore como a do anexo, o resultado é o seguinte:

Observem que o caminho de “New node 8” está errado. Alguém tem uma dica?

Obrigado.

Passe um String ou StringBuilder como parâmetro; não faça essa confusão de ter um “path” e “oldpath” que você só vai se confundir na recursão.

Voilà entanglement!!!

Bela sacada cara, funcionou perfeitamente. Muito Obrigado.
:stuck_out_tongue: