[Resolvido] Clicar e exibir valueAt da linha do JTABLE

11 respostas
paulofernandesjr

opa!

Como fazer para ao clicar na linha do JTABLE ele retornar o valueAt

abraço

edit: alteração de titulo

11 Respostas

M

dependendo o que voce quer fazer, voce pode usar renders ou editors,
de uma olhada neste site:

http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

ou talves até criar um evento e pegar dados através do modelo…

paulofernandesjr

a minha intenção é criar um evento!

mas como dizer para o jTable que o evento mostraPosicao() é para todas as linhas?

M

eu pessoalmente, usaria um tableCellRender, apesar de ser um pouco mais pesado, ele facilita muito
a utilização de uma tabela…

mas qual seria o objetivo do metodo mostraPosição? apenas retornar a posição
selecionada na tabela?

paulofernandesjr

na realidade o metodo seria o enviaMensagem()

que abriria um JFrame com 3 campos:

Jlabel, que seria destino.
Jtextarea, seria a mensagem que a pessoa vai digitar
Jbutton, botao para enviar a mensagem

só que eu queria exibir esse JFrame se o usuario desse um duplo clique no item da tabela!

como poderia fazer isso, qual a melhor solução

davidtiagoconceicao

Adicione um listener a JFrame e use os métodos getSelectedColumn e getSelectedRow da JTable para pegar a coluna e a linha selecionadas. À partir daí, você pode usar estes índices para pegar as informações das classes responsáveis, ou usar o método getValueAt da JTable para pegar a informação diretamente da tabela.

paulofernandesjr

Como assim listener ao JFrame?

não entendi

davidtiagoconceicao

paulofernandesjr:
Como assim listener ao JFrame?

não entendi

Você quer capturar o clique na JTable, não é isso? Adicione um MouseListener a sua JTable. Este tópico tem uma discussão sobre isso, inclusive com alguns eventos:

http://www.guj.com.br/posts/list/10703.java#55909

paulofernandesjr

Não me ajudou…

tentei com mouse listener, mas nao deu certo, pois preciso pegar o valor da celula e exibir num pop up

espero mais ajudas!

abraço

davidtiagoconceicao

Paulo, você está me confundindo cada vez mais :lol:

Porque não funcionou? Você não conseguiu implementar? Ocorreu algum problema?

Você quer que quando o usuário clicar em determinada posição do JTable, uma janela seja exibida, é isso?
Se for isso, o que você precisa fazer é resumidamente isso:

  • Adicionar um MouseListener na sua JTable
  • Dentro do determinado evento do listener, faça o tratamento para pegar a informação desejada (através do getSelectedColumn, getSelectedRow e getValueAt).
  • Crie a janela que você deseja exibir à partir da informação que você obteve anteriormente.

Alguma dúvida neste processo? Alguma dúvida na implementação?

paulofernandesjr

Deu certinho cara, consegui fazer isso!

muito obrigado!

abraço

davidtiagoconceicao

De nada.
Se tiver algum problema, poste aí

Criado 29 de dezembro de 2008
Ultima resposta 29 de dez. de 2008
Respostas 11
Participantes 3