Dúvidas Jtable

Bom dia Pessoal!!

Existe algum evento que permita capturar a troca de celula dentro de um Jtable??
Quero preencher um formulário de acordo com a celula selecionada na tabela, somente o evento click não serviria, já que o usuário pode navegar entre as células com o teclado também.

alguma dica??

vc pode capturar a posição da célula ativa adicionando os eventos de tecla e de mouse

suaTabela.addMouseListener(new MouseAdapter(){
   public void mouseClicked(MouseEvent e){
   //pega as coordenadas da célula
}
 }
);

//além disso vc tem q adicionar o evento de tecla

suaTabela.addKeyListener(new KeyAdapter(){
   public void keyReleased(KeyEvent e){
   //se a tecla pressionada for " ---" ou for "---" etc
     //pega as coordenadas da célula
}
 }
);

espero ter ajudado!
boa sorte

= )

blz, ficou assim,

private void tblProdutosMouseClicked(java.awt.event.MouseEvent evt) {
preencherCampos(tblProdutos.getModel().getValueAt(tblProdutos.getSelectedRow(), 0));
}

private void tblProdutosKeyPressed(java.awt.event.KeyEvent evt) {
    preencherCampos(tblProdutos.getModel().getValueAt(tblProdutos.getSelectedRow(), 0));
}

deu certo?
ficou como vc queria?

Houve alguns inconvenientes, por exemplo, se o usuário fosse apertando tab para ir navegando entre os componentes, dispara o evento, mas como não há nenhum item selecionado na tabela da erro se não tratar.
mas vai servir.

abraços

vc pode usar bindis para isso…

vc pode bindar a JTable a seus formulario… vou enviar um .jar perai

vc tem NetBeans ?? pq c tiver fica + facil de falar como fazer…

vc pode ainda tratar as teclas, por exemplo:

se o tecla digitada for TAB
faça isso

se tecla digitada for Seta UP
faça isso

se tecla digitada for Seta DOWN

faça isso

etc…

dessa forma vc evitarar os erros…Ou seja, só disparará o evento se a tecla pressionada for a(as) tecla(as) digitada(as) que vc previu na construção do evento!

o tratamento de teclas vc faz dentro método que dispara o envento (keyReleased) do keyListener!

bom… eu não achei aki o esquema pra duplicar meu DB por isso não adianta te mandar meu .jar… pq ele não vai encontrar a database…

mais eu segui esse tutorial

http://www.netbeans.org/kb/docs/java/gui-db-custom_pt_BR.html

é em portugues… é bem simples… e te ensina como bindar dados

se vc usa Netbeans… siga os seguintes procedimentos

Digamos que vc tenha um JTable que o nome dele é masterTable … dentro do JTable vc tenha objetos Pessoa, que tenha a propriedade getFirstName() e setFirstNome(String nome) por exemplo…

basta adcionar 1 JFieldText… clicar com direito no JFieldText… escolher VINCULAR > TEXT

procure o seu Objeto JTable, que no meu caso é masterTable… selecione ele em Código Fonte de Vinculação

Em expressão de vinculação, selecione SELECTED ELEMENT > firstName

agora sempre que vc selecionar um dado na tabela, ele vai mostar o firstName no campo, e assim quando vc editar o firstName no campo, ele ja edita automaticamente na tabela