Chamando um JFrame de um jtree [RESOLVIDO]

3 respostas
protonfranklin

Pessoal, estou com um dúvida que já fundi minha cabeça para tentar encontrar uma solução mas até agora não achei.
A questão é o seguinte:

Tenho um menu baseado num jtree e chamo minhas telas a partir dele, a questão é que tenho muitas telas mas só está me permitindo chamar 15 que acredito que não seja coincidência é o valor da propriedade rowCount do jtree.
Neste momento tenho mais de 40 telas para serem chamadas, e estou chamando da seguinte forma:

private void jTree1KeyTyped(java.awt.event.KeyEvent evt) {
        // TODO add your handling code here:

     
        if (jTree1.getSelectionModel().isRowSelected(0)){
            new BandeiraCartoesView().setVisible(true);
            return;
        }
        if (jTree1.getSelectionModel().isRowSelected(1)){
            new BandeiraCartoesView().setVisible(true);
            return;
        }
        if (jTree1.getSelectionModel().isRowSelected(2)){
            new BandeiraCartoesView().setVisible(true);
            return;
        }

}

Desta forma só consigo utilizar 15 opções do jtree, se alguem puder me ajudar agradeço.

3 Respostas

protonfranklin

Pessoal fazendo algumas consultas na documentação do Jtree, consegui resolver a questão da seguinte forma:

private void jTree1KeyTyped(java.awt.event.KeyEvent evt) {                                
        // TODO add your handling code here:
        TreePath path = jTree1.getSelectionPath();
        DefaultMutableTreeNode selNode = (DefaultMutableTreeNode)path.getLastPathComponent();
        String selValue = (String)selNode.getUserObject();

        if (path!=null & selValue.equals("1 - Almoxarifado")){
            
            new BancosView().setVisible(true);
            return;
        }
        if (path!=null & selValue.equals("8 - Logística")){

            new MercadoriaView().setVisible(true);
            return;
        }

        if (path!=null & selValue.equals("Sair")){

            JOptionPane.showMessageDialog(null, "Saindo do sistema");
            System.exit(0);
            return;
        }

    }

Identifico o nó corrente através de uma String e faço a comparação na minha cláusula if com essa String para chamar minhas telas.

ALGUEM SABE ME INFORMAR ONDE INFORMO QUE UM POST FOI RESOLVIDO?

ViniGodoy

Vá no seu primeiro post.
Clica em editar.

Escreve [RESOLVIDO] antes ou depois do título.

protonfranklin

Obrigado, achei que era alguma flag.

Criado 19 de março de 2010
Ultima resposta 22 de mar. de 2010
Respostas 3
Participantes 2