Jtree(arvore) - diferenciando NoPai, SubNo ou No [RESOLVIDO]

2 respostas
hvivox

Tenho uma jTree neste formato

-Sistema de portaria-----------------(vou chamar de NoPai)
    -Cadastro--------------------------(vou chamar de SubNo)
       -Cadastrar Usuario ------------(vou chamar de No)
       -Cadastrar Visitante
       -Cadastrar Colaborador
    -Controle
        controle de usuario

Como faço para diferenciar o NoPai, do SubNo ou até mesmo No?
Perciso fazer algo como: toda vez que o usuario selecionar o NoPai (raiz), o sistema exibirá a msg “A RAIZ DA ARVORE FOI SELECIONADA!” o mesmo para o SubNo e o No?
Qual o comando que posso faz a diferença entre esses componentes?

sds.

2 Respostas

davidbuzatto
tree.getSelectionModel().addTreeSelectionListener(new TreeSelectionListener() {

    public void valueChanged( TreeSelectionEvent e ) {

        DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();

        if ( node == tree.getModel().getRoot() ) {
            System.out.println( "você selecionou a raiz" );
        } else {
            TreeNode pai = node.getParent();
            int cc = node.getChildCount();
            System.out.printf( "você selecionou o nó %s quem tem como pai o nó %s e que tem %d filhos", node, pai, cc  );
        }

    }

});

Olhe o primeiro resultado que veio no google quando digitei get node from jtree
http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html

hvivox

Mto obrigado parceiro. Isso resolve o problema

Criado 9 de janeiro de 2010
Ultima resposta 10 de jan. de 2010
Respostas 2
Participantes 2