| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/07/2006 22:26:56
|
cleiton herrmann
JavaEvangelist
![[Avatar]](/images/avatar/291dbc18539ba7e19b8abb7d85aa204e.jpg)
Membro desde: 08/06/2006 11:38:58
Mensagens: 432
Localização: Cascavel - PR
Offline
|
Olá Pessoal, essa dúvida pode parecer meio simples para se perguntar no grupo de tópicos Avançados, porém, eu já peguei 6 exemplos de como usar o JTree e não consegui usar.
Eu uso o NetBeans 5.0, será que alguem sabe alguma maneira prática de usar esse componente, alguma maneira de manipular ele graficamente no NetBeans, ou mesmo um exemplo da criação e manipulação de um JTree.
Desde já grato !!!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/07/2006 00:23:29
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
kra, vc num vai conseguir manipular um jtree graficamente como vc disse.
da uma olhada na documentação na class JTree e no pacote javax.swing.tree q vc vai achar o q precisa.
caso não consiga fazer nada, posta ai o q vc quer fazer q a gente ajuda
falow!
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/07/2006 08:33:06
|
cleiton herrmann
JavaEvangelist
![[Avatar]](/images/avatar/291dbc18539ba7e19b8abb7d85aa204e.jpg)
Membro desde: 08/06/2006 11:38:58
Mensagens: 432
Localização: Cascavel - PR
Offline
|
Olá davidbuzatto, blz?
na verdade o que eu queria é um exemplo simples da utilização do JTree, criando uma estrutura simples tipo
uma coisa bem simples mesmo, pois nunca trabalhei com esse componente. vc tinha sugerido pra eu olhar a documentacao, mas o exemplo que tem lah é muito grande, nao sei, eu coloco aqueles DefaultMutableTreeNode, faço meu Jtree = new Jtree(o node que eu criei) i nao consigo fazer funcionar, sei lah haiuhaiaaiha. Ó, eu to fazendo assim ó
eu uso o NetBeans, dai eu arrastei um JTree pra minha tela, dei um nome pra ele de jtInformacoes, ai no construtor da classe, depois do initComponents eu coloquei o codigo seguinte só pra testar
mas ai quando eu rodo a aplicacao, aparece o JTree original na tela, sem nenhuma modificação.
o que eu queria mesmo é só um exemplo simples pra eu entender como funciona, se vc ou alguem puder postar um codigozinhu ai eu agradeco, pois jah faz 3 dias que to tentando usar esse componente e nada.
valeu t+
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/07/2006 12:18:30
|
hlds
Virtual Machine Man
Membro desde: 29/03/2006 22:18:39
Mensagens: 602
Offline
|
olha este site da sun: http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html
e ai ajudou?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/07/2006 09:59:49
|
cleiton herrmann
JavaEvangelist
![[Avatar]](/images/avatar/291dbc18539ba7e19b8abb7d85aa204e.jpg)
Membro desde: 08/06/2006 11:38:58
Mensagens: 432
Localização: Cascavel - PR
Offline
|
Olá pessoal, td bom?
Ainda nao consegui fazer funcionar, vou colocar o meu código ai, pq eu sinceramente nao sei o q q tah faltando. No construtor da minha tela, eu faço
e no evento MouseClicked da minha tabela eu chamo esse método preencherJTree();
ai quando eu rodo minha aplicacao e clico em uma linha da tabela, nao acontece nada, nem da erro, neim aparece nada no jtInformacoes, que é o meu objeto JTree...
Nos exemplos que vi na internet, e no How to use da sum, eu nao vejo nada de diferente, eu simplesmente adaptei o exemplo de acordo com minhas necessidades, mas nao funciona. O que será que está faltando pra isso ai funcionar?
Desde ja meu obrigado, t+
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/06/2008 11:58:44
|
luis.txt
JavaChild
![[Avatar]](/images/avatar/a0ab09eb2842e474a3a5aed12e533a2a.jpg)
Membro desde: 30/04/2008 09:26:07
Mensagens: 127
Localização: Minas
Offline
|
Bem, também tive dificuldade para encontrar um exemplo de uso do JTree.
Por isso resolvi postar aqui a solução que encontrei..
Há outros objetos gráficos na classe, mas eu resolvi postar toda a estrutura, fica melhor compreendido, principalmente depois de compilado::
//Classe que inicializa a aplicação:
//Classe que implementa o JTree (APENAS IMPLEMENTA O JTREE, CABE A VC IMPLEMENTAR AS FUNCIONALIDADES)
This message was edited 1 time. Last update was at 11/06/2008 12:06:55
|
http://clway.wordpress.com
Iron Maiden's gonna get you,
No matter how far. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/06/2008 13:30:09
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Ao invés de usar o DefaultMutableTreeNode, criem um TreeModel próprio.
É muito mais fácil.
Considerem uma classe de Livros, que contém uma lista de autores, como essa aqui:
A classe do Autor não é muito diferente:
Ok. Agora queremos uma árvore com vários livros e a lista dos seus autores. O primeiro passo, é criar um modelo para essa árvore. Fazemos isso estendendo TreeModel:
Com o model pronto, agora só falta desenhar uma Tree usando esse model. Aqui está uma telinha que faz exatamente isso, para servir de demonstração:
Escrever o seu próprio TreeModel não só é mais fácil para Trees maiores, como também deixa o código mais separado e orientado a objetos. Note que a minha classe de interface gráfica praticamente não se preocupou com a lógica da tree em si. Quem faz isso é o modelo. Esse decoplamento é util, caso você queira reaproveitar a tree em outras telas, já que não é a tela em si que conhece a estrutura da árvore.
Também tem a vantagem de que o TreeModel manipula diretamente as suas classes de negócio. Para tornar a Tree modificável, você deve inserir métodos no model, e notificar os listeners de que a árvore mudou, e onde. Anexo a esse post, está um AbstractTreeModel que costumo a usar nos meus programas, retirado dos próprios exemplos da Sun.
Ele já cuida da parte dos listeners de eventos, além de fornecer métodos práticos para notificar a tree sobre mudanças.
A minha sugestão (e eu já sofri muito da outra forma antes de descobrir essa) é que vocês não usem os DefaultMutableTreeNodes para nada.
| Nome do arquivo |
AbstractTreeModel.java |
Download
|
| Descrição |
Facilita a construção de TreeModels. |
| Tamanho |
7 Kbytes
|
| Baixado: |
645 vez(es) |
| Nome do arquivo |
treeSample.zip |
Download
|
| Descrição |
Exemplo com AbstractTreeModel. Mostra também como adicionar e remover nós dinamicamente. |
| Tamanho |
7 Kbytes
|
| Baixado: |
377 vez(es) |
This message was edited 6 times. Last update was at 11/03/2010 09:05:18
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/06/2008 14:15:03
|
luis.txt
JavaChild
![[Avatar]](/images/avatar/a0ab09eb2842e474a3a5aed12e533a2a.jpg)
Membro desde: 30/04/2008 09:26:07
Mensagens: 127
Localização: Minas
Offline
|
com o seu exemplo realmente ficou muito melhor!
valeu!
|
http://clway.wordpress.com
Iron Maiden's gonna get you,
No matter how far. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/07/2008 13:39:30
|
lidianycs
JavaBaby
![[Avatar]](/images/avatar/0c13d6d3b3743756e05bd42f3afb2d52.jpg)
Membro desde: 08/11/2006 18:51:17
Mensagens: 81
Localização: Midgart
Offline
|
Muito interessante seu exemplo!
Obrigada!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/10/2008 10:08:00
|
hacebe
Thread.start()
Membro desde: 08/04/2008 16:11:23
Mensagens: 41
Offline
|
Opa... bom dia!
resuscitando um pouco o tópico...
Pessoal, fiz o código deu certim...
ele aparece e talz...
mas tipo
se eu quiser repopular essa tree, como faço?
grato!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/10/2008 08:12:50
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Basta passar um novo List para o seu model, e disparar o evento que os dados da tree mudaram.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/11/2009 23:56:54
|
rafaelmpc
Smalltalk
Membro desde: 17/11/2009 23:46:09
Mensagens: 4
Offline
|
Rodei o exempo assim, porem tenho uma dúvida: Tendo 2 tree(arvoreA e arvoreB) como fazer para mover uma "folha" da arvoreA para a arvoreB?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2009 08:27:38
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Sua dúvida está em manipular modelos ou em fazer a movimentação em si?
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2009 23:12:16
|
rafaelmpc
Smalltalk
Membro desde: 17/11/2009 23:46:09
Mensagens: 4
Offline
|
Gostaria de mover de uma estrutura para outra, ou seja:
1° Mometo
arvoreA
- Nivel A
- Item 1
- Item 2
-Nivel B
- Item 1
arvoreB
- Nivel C
- Item 1
- Item 2
2° Momento: após arrastar o "Nivel B" da arvoreA para o "Nivel C" da arvore B o resultado ficaria
arvoreA
- Nivel A
- Item 1
- Item 2
arvoreB
- Nivel C
- Item 1
- Item 2
- Nivel B
- Item 1
resultado toda estrutura foi copiada para baixo do "Nivel C" da arvoreB.
Valeu pela rapidez da resposta, muito obrigado
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/11/2009 08:16:28
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Ótimo... mas voltando a minha pergunta.... Sua dúvida está em manipular modelos ou em fazer a movimentação em si? Ou seja, você não sabe como escrever o treemodel, ou você não sabe como habilitar o drag&drop?
This message was edited 1 time. Last update was at 19/11/2009 08:16:45
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
|
|