JTree - inserção de um nodo  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
lance
JavaBaby

Membro desde: 28/03/2006 21:00:44
Mensagens: 81
Offline

Olá
tenho uma JTree. Quando inicializo a aplicção, populo-a com 3 níveis (root, pais e folhas), isto está funcionando. Porém quando eu tento inserir mais um nodo no último nível, as folhas são inseridas para todos, porém só são visíveis para os nodos que não foram expandidos ainda.
Por exemplo
root
*Pai1
-Folha1
*Pai2
-Folha2


Está é a estrutura da árvore.Se eu não expandir nenhum nodo, os novos valores são inseridos e mostrados perfeitamente.
Se eu expando algum dos nodos, este nodo não mostra o valor inserido depois.
Alguém sabe como "atualizar" a árvore? Eu tentei usar repaint e etc, mas não funciona.;.

Obrigado,
Oscar
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Você está usando o defaulTreeModel, ou um model que você mesmo fez?

Normalmente problemas desse tipo acontecem quando o model esquece de disparar o evento fireTreeNodesChanged. É esse evento que "avisa" a árvore que ela deve ser atualizada.

Esse evento tem uns parâmetros meio chatos, para alterar somente uma folha, coloque os seguintes métodos no seu model e dispare-os quando você terminar de inserir o nó:


A classe em anexo, AbstractTreeModel, contém a implementação completa de um TreeModel que usamos quando queremos implementar os nossos. É muito prática! Dê uma olhada.

Se você está utilizando o DefaultTableModel, procure um método parecido com um desses acima e dispare-o assim que você atualiza seu nó.

Para mais informações tem sempre o site da Sun:
http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html
 Nome do arquivo AbstractTreeModel.java [Disk] Download
 Descrição Model abstrato para Trees. Facilita a implementação de um TreeModel, pois já controla uma lista de listeners, além de prover eventos úteis para informar a view sobre atualizações do model.
 Tamanho 6 Kbytes
 Baixado:  160 vez(es)

[WWW]
felixcomputer
JavaTeenager
[Avatar]

Membro desde: 07/06/2006 11:12:19
Mensagens: 171
Localização: Belém - Pa
Offline

Olá lance, estava tendo exatamente o mesmo problema que vc, entretanto consegui fazer funcionar com essa classe:


Uma Classe Demo

Contudo ela requer o Java 6
flws

Samuel Félix
O temor do Senhor é o principio da sabedoria!
http://sfelixjr.googlepages.com
[Email] [WWW] [MSN]
root_
JavaGuru
[Avatar]

Membro desde: 05/09/2006 15:46:19
Mensagens: 206
Localização: Gurupi - Tocantins
Offline

Ótimo exemplo felixcomputer, VLW mesmo.. xD

Rogério Milhomens de Queiroz
Agile - Consultoria em Tecnologia da Informação!
http://www.agilecti.com.br
Dataview - Inteligência em Tecnologia!
http://www.dataview.com.br
[Email] [WWW] [MSN]
Matheus Prado
JavaBaby
[Avatar]

Membro desde: 26/09/2009 01:00:22
Mensagens: 76
Offline

alguem sabe mi dizer pra que serve e como usar esse métodos,
to precisando de ajuda
obrigado



obrigadoo

// Graduando em Análise e Desenvolvimento de Sistemas.
// Programador Clipper
[MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team