Java Swing vs XML

Tenho um XML como exibido abaixo:


<bedemak>
    <filial id="filial-01">
        <endereco>Rua Canto do Sabiá, 438</endereco>
        <fone>11 0000-0000</fone>
        <gerente>Fulano de Tal</gerente>
    </filial>

    <filial id="filial-02">
        <endereco>Avenida Estados Unidos, 237</endereco>
        <fone>11 9999-9999</fone>
        <gerente>Joãozinho da Pimboca</gerente>
    </filial>
</bedemak>

Tenho um JTree() num JForm() representando este XML manualmente nas propriedades do componente.

Obs.: Sim, já tentei importar o XML para dentro do JTree mas não consegui. Seria o meu sonho. Caso alguém possa me ajudar nisso, serei ETERNAMENTE grato, rs.

Problema: quando clico no JTree correspondente a FILIAL 01, os dados exibidos são da FILIAL 02. Parece que está passando direto. E como já testei com todas as filiais, de fato, o exibido sempre está sendo o último. Meu código a seguir:


try {
        File file = new File("src/bedemak.xml");
        SAXBuilder builder = new SAXBuilder();
        Document document = (Document) builder.build(file);
        Element tag = (Element) document.getRootElement();

        List detalhes = tag.getChildren();
        Iterator i = detalhes.iterator();

        while (i.hasNext() == true) {
            Element unidade = (Element) i.next();

            /* Exibindo o conteúdo das TAGs numa JLabel() */
            v_NomeUnidade.setText(unidade.getAttibuteValue("id"));
            v_Endereco.setText(unidade.getChild("filial").getChildText("endereco"));
            v_Fone.setText(unidade.getChild("filial").getChildText("fone"));
            v_Gerente.setText(unidade.getChild("filial").getChildText("gerente"));
        }

    } catch (JDOMException | IOException ex) {
        JOptionPane.showMessageDialog(null, "Não foi possível localizar os dados desta Filial.", "Erro...", 0);
    }

O que estou fazendo de errado?

Você está exibindo o conteúdo sempre nos mesmo JLabels
A cada iteração o conteúdo anterior é substituído pelo valor do do Element da iteração atual.

1 curtida

Meu amigo @staroski… Sempre disposto a ajuda… Desculpe a imensa demora em ver a sua resposta. Infelizmente tive um problema aqui no servidor e perdi tudo do meu HD. Migrei tudo para Linux agora mas ainda estou tendo alguns probleminhas. Vou ter que reconstruir este projeto do zero e quando chegar nessa parte, me atentarei a este detalhe. Muito Obrigado!