Você disparou o evento tableNodeAdded para a JTree?
lina
Oi,
então, estou usando uma DefaultMutableTreeNode… e ela não tem o reload()…
Já o comando dito pelo Vinny desconheco, e não encontrei informações sobre o mesmo…
só estou utilizando o: addTreeSelectionListener e addTreeExpansionListener…
Poderia me dar exemplo?
Tchauzin
homisinho
Eu estou fazendo um sistema que tem um jTree tbm, e aqui funcionou blz quando inseri um novo nodo. Eu criei um método pra isso.
/**
* Adiciona um novo nodo na arvore
* Caso o parent == null adiciona de acordo com o tipo
* @param parent Tipo DefaultMutableTreeNode, Nodo Pai do que será inserido.
* @param child Qualquer tipo de objeto.
* @param tipo Tipo inteiro 1:tip1 2:tip2 3:tip3
* @return Tipo Boolean False: gerou uma Exception True: Nodo inserido.
*/
public Boolean addNodo(DefaultMutableTreeNode parent,Object child, int tipo) {
try{
DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(child);
if (parent == null) {
if(tipo==1)
parent = this.tip1;
if(tipo==2)
parent = this.tip2;
if(tipo==3)
parent = this.tip3;
}
this.model.insertNodeInto(childNode, parent,parent.getChildCount());
return (true);
}catch(Exception e) {
System.out.print("Erro: "+e);
return (false);
}
}
Espero ter ajudado.
lina
Oi,
Então.. eu não consigui usar o comando: this.model.insertNodeInto
pois não trabalho com nenhum DefaultTreeModel.. isso seria propriedade dele né?
estou fazendo assim:
/** * Mtodo responsvel por adicionar um carro. * * @param defaultMutableTreeNode * * @param as_carro */publicvoidAdicionaNoRede(DefaultMutableTreeNodedefaultMutableTreeNode,Stringas_carro){System.out.println(defaultMutableTreeNode.toString());//// Adiciona um novo carro.// defaultMutableTreeNode.add(newDefaultMutableTreeNode(newCarroNode(as_carro)));}
Quando não tem nenhum carro na arvore ele adiciona, porém quando já tem 1.. ele não faz nada.. na real ele não carrega a nova lista.. e já recriei ela novamente!
Tchauzin!
homisinho
DefaultTreeModel model;
DefaultMutableTreeNode lista;
lista = new DefaultMutableTreeNode("FORD");
model = new DefaultTreeModel(lista);
jTree1.setModel(model);
a partir daqui você deve adicionar os nodos novos no seu model.... pra mim tá funcionando..... não sei c é a melhor forma de trabalhar com o jTree, mas esta funcionando.
lina
Oi,
Eu no conseguia ter a referencia de uma DefaultTreeModel para dar o reload, porm analisando melhor utilizei o seguinte comando:
((DefaultTreeModel)io_tree.getModel()).reload();
Muito obrigado a todos pela ajuda!
Tchauzin!
ViniGodoy
É que geralmente eu crio meu próprio TreeModel. O DefaultMutableTreeNode acaba deixando o código muito rebuscado e desorganizado.
Quando li o seu post, achei que vc estivesse fazendo o mesmo, sorry.