Seleção de nó de uma JTree

6 respostas
diegogm

Boa tarde galera!

Estou implementando uma interface de relatórios, utilizei uma JTree para fazer uma hierarquia de relatórios.
Cada relatório desse tem seus filtros que vão ser apresentados num JPanel através da ação de um botão.

Segue a imagem da Tree:

http://imageshack.us/a/img404/6783/reportm.jpg

Na parte de baixo da JTree onde tem as combos e outros componenstes são os filtros do relatório que serão
invocados pelo primeiro botão na parte superior da JTree.
Cada filtro de relatório está num painel montado numa classe com os gets de cada painel, fiz uma classe
controller onde tem um switch com todos os relatórios, preciso saber como vou fazer para quando clicar num
relatório da JTree ele identificar que é aquele relatório que chama tal painel, por exemplo, tenho o relatório
JAVA que tem 3 parâmetros(filtros) e esses parâmetros estão montados num painel, como faço para quando clicar
no relatório JAVA e clicar no botão ele chamar o painel de filtros certo daquele relatório???

Vou passar umas imagens de passo a passo para melhor ilustrar o que eu quero:

De primeiro momento ela vai estar assim:
http://imageshack.us/a/img696/2989/primeirou.jpg

Apos eu selecionar o relatório na Tree tenho que clicar no primeiro botão onde está marcado com uma flecha vermelha para aparecer os filtros:
http://imageshack.us/a/img407/1101/segundal.jpg

Apos eu clicar no botão vai aparecer na parte de baixo o painel com os filtros do relatório selecionado:
http://imageshack.us/a/img820/8159/terceira.jpg

Pesquisei bastante e não encontrei algo que me ajudasse ai vim para o GUJ para ter um auxilio de vocês.

Obrigado a todos.

6 Respostas

B

Olá diego, não entendi bem certo sua dúvida, tenta explicar um pouco melhor e quem sabe posso te ajudar.

Você está usando seu Model ou Default?

diegogm

Olá bobleujr, obrigado por responder!!

Então essa estrutura da imagem está montada em uma classe, porem para cada relatório que são 53 relatórios eu tenho uma estrutura, no caso,
um JPanel e dentro combos e outros componentes, eu preciso nessa classe que tem a estrutura da JTree que quando clicar num relatório especifico e
acionar o botão ele chame o painel daquele relatório que está na outra classe e apresente na classe que te a JTree.

Não sei se ficou melhor para entender mais é assim…

Obrigado! :thumbup:

diegogm

bobleujr:
Olá diego, não entendi bem certo sua dúvida, tenta explicar um pouco melhor e quem sabe posso te ajudar.

Você está usando seu Model ou Default?

Esqueci de falar estou usando o Default.

B

Vou tentar te ajudar de acordo com o pouco que sei,

  • Resgatando o objeto selecionado

No evento do botão você fará

TreePath noPath = minhaArvore.getSelectionPath();
DefaultMutableTreeNode no =  (DefaultMutableTreeNode) noPath.getLastPathComponent();

MinhaClasse obj = (MinhaClasse) no.getUserObject();

Nesse ponto você já tem o objeto em mãos e já pode dar um get no Panel que você deseja.

Espero ter ajudado !

diegogm

bobleujr:
Vou tentar te ajudar de acordo com o pouco que sei,

  • Resgatando o objeto selecionado

No evento do botão você fará

TreePath noPath = minhaArvore.getSelectionPath();
DefaultMutableTreeNode no =  (DefaultMutableTreeNode) noPath.getLastPathComponent();

MinhaClasse obj = (MinhaClasse) no.getUserObject();

Nesse ponto você já tem o objeto em mãos e já pode dar um get no Panel que você deseja.

Espero ter ajudado !

Legal bobleujr, vou fazer alguns testes aqui e lhe darei um feedback apos o teste.

Obrigado ajudou e muito, não tinha ideia de como começar!!! :thumbup:

B

Ok, qualquer dúvida estou à disposição.

Criado 8 de novembro de 2012
Ultima resposta 8 de nov. de 2012
Respostas 6
Participantes 2