Capturar linha atual do JTable

Olá pessoal,

Eu tenho um JinternalFrame q chama um JDialog, nesse JDialog eu tenho um JTable. Pois bem,
eu consigo, no evendo do botão OK, pegar a linha selecionada e preencher um determinado objeto,
mas queria fazer o mesmo com o evento do ENTER no JTable, ou pelo menos algo assim:

public void keyPressed(KeyEvent e) {

                    if(e.getKeyCode()== e.VK_ENTER){
                           
                            btnOK.requestFocus();

                     }                   
                    
                }

Só q com isso, o q acontece é q o focu muda pra próxima linha ou para a primeira, caso ele já esteja
na última linha.

Alguma sugestã? :slight_smile:

tente substituir o que está dentro do if pelo seguinte

if (e.getKeyCode==KeyEvent.VK_ENTER){

}

tenho um programa que faz coisa parecida e no meu está como eu escrevi…e dá certo!

Adiciona um ActionPerformed nele e copia o código do botão!
Uma opção melhor opção é modularizar o código do evento e só chamar ele no evento da tabela e do botão!

Opa,

Mas então, meu código já está assim:

   1. if (e.getKeyCode==KeyEvent.VK_ENTER){  
   2.   
   3. }  

Na verdade assim (no KeyListener da tabela)

[/code]
@SuppressWarnings(“static-access”)
public void keyPressed(KeyEvent e) {

                if(e.getKeyCode()== e.VK_ENTER){                         
                     linhaAtual=jtbProduto.getSelectedRow();             
                     Fechar();
                }
               
                
            }

[code]

Mas funcionou, pego o num da linha antes e daí consigo manipular o quero,
mas pensei q poderia ter algo mió.
Vou só mudar pro ActionPerformed como sugerido pra ver o comportamento.

Valeu as dicas!!!

Pronto,

Eu tinha realmente vacilado em n usar o ActionPerformed, com ele
(mais o q eu tinha feito) ficou mais simples mesmo!

Falew!