Bem galera , depois de uma semana sem sucesso é hora de pedir ajuda . Espero poder contar com o auxilio de vocês .
O código que eu estou postando é uma generalização do código original , pois não faz sentido colocar todo o código quando o que interessa é só parte dele . Ou seja se conseguir resolver o problema nesse código pode crer que eu consigo consertar no meu principal.
Gostaria que dessem uma olhada no código antes . De preferencia executar e deixar aberto enquanto le aqui pra
que fique mais simples de intender o que estou querendo dizer ( eu não sou muito bom nisso ).
Eu gostaria que a na Jtree aparecece os campos do “Objeto.class” como ,‘nome’ , ‘tipo’ , 'Id’
Porém nada que eu coloque a partir do 2º nó aparece na jTree.
Eu fiz testes colocando pra aparecer no segundo nível e funciona , não faço idéia de porque não funciona.
Teoricamente era pra ficar + ou - assim .
[code]/*
- Tree Teste
| |
| -Key a
| |
| -Objeto 1
| | |
| | -nome : Nome
| | -Id : ID
| | -tipo : Tipo
| -…
| |
*/[/code]
No entanto fica assim
[code]/*
- Tree Teste
| |
| -Key a
| |
| -Objeto 1
| -…
| |
*/[/code]
O método que monta a Jtree é esse aqui :
private void jTreeManange() {
HashMap<Key,DefaultMutableTreeNode> hierarchy =
new HashMap<Key,DefaultMutableTreeNode>();
for(Objeto obj : data)
{
Key key = obj.getKey();
DefaultMutableTreeNode node = hierarchy.get(key);
if(node == null)
{
hierarchy.put(key,new DefaultMutableTreeNode(key));
node = hierarchy.get(key);
DefaultMutableTreeNode acnode = new DefaultMutableTreeNode(obj);
acnode.add(new DefaultMutableTreeNode(
"Nome : "+obj.getName()));
acnode.add(new DefaultMutableTreeNode(
"Id : "+obj.getId()));
acnode.add(new DefaultMutableTreeNode(
"Tipo : "+String.valueOf(obj.getType())));
node.add(new DefaultMutableTreeNode(acnode));
root.add(node);
}
else
{
DefaultMutableTreeNode acnode = new DefaultMutableTreeNode(obj);
acnode.add(new DefaultMutableTreeNode(
"Nome : "+obj.getName()));
acnode.add(new DefaultMutableTreeNode(
"Id : "+obj.getId()));
acnode.add(new DefaultMutableTreeNode(
"Tipo : "+String.valueOf(obj.getType())));
node.add(new DefaultMutableTreeNode(acnode));
}
}
treeModel.reload();
}
