Percorrendo uma JTree

2 respostas
L

A pessoal… blz?
to com um probelminha aqui…
Tenho uma arvore q esta armazenado em um arquivo binario
dai eu leio esse arquivo onde esta armezenado a arvore e monto uma arvore usando uma Jtree… estou com problemas para percorrer essa jTree pra fazer a busca de um determinado nodo…
Como eu faço pra percorrer essa jTree pra achar esse nodo

2 Respostas

P

E aí cara, bão?

Olha nunca usei no java não mas com certeza deve funcionar… Tipo assim, usa recursividade… Pra percorrer árvore, use algoritmos recursivos, senão vc pode suar pra fazer outro…

A paz!!

E

eae cara blz?

eu utilizei percorrer JTree da seguinte forma:

// contador de níveis avançados na arvore
	int countPipe = 0; 
	
	/**
	 * Percorre a estrutura da árvore apartir da raiz da arvore do JTree
	 */
	private void percorreArvore() {
		
		for( int i = 0; i < this.getRootNode().getChildCount(); i++ ) {
			// recupera o filho 
			DefaultMutableTreeNode filho = (DefaultMutableTreeNode)this.getRootNode().getChildAt( i );						
			
			/*
			 * verificar aki o objeto filho se é oq vc procura, filho encapsula o seu objeto... 
			 */
			
			// verifica se o item possui sub-itens
			if( filho.getChildCount() > 0 ) {
				this.getSubItem( filho );
			}			
		}
		
	}
	
	/**
	 * Método para varrer os filhos de um item
	 * @param DefaultMutableTreeNode item
	 */
	private void getSubItem( DefaultMutableTreeNode item ) {
		this.setCountPipeUp();
		for( int i = 0; i < item.getChildCount(); i++ ) {
			// recupera o filho 
			DefaultMutableTreeNode filho = (DefaultMutableTreeNode)item.getChildAt( i );			
			
			/*
			 * verificar aki o objeto filho se é oq vc procura, filho encapsula o seu objeto... 
			 */
			
			// verifica se o item possui sub-itens
			if( filho.getChildCount() > 0 ) {
				this.getSubItem( filho );
			}			
		}
		this.setCountPipeDown();
	}

usei para montar uma saida js de menu dinamico para web, esse código tah funcionando nessa estrutura que eu to colocando ai

ps.: ele percorre a árvore no seguinte formato raiz-> esquerda -> direita

espero que te ajude :wink:

[]´s

Criado 24 de abril de 2005
Ultima resposta 25 de abr. de 2005
Respostas 2
Participantes 3