Olá pessoal! Tenho uma JTable que mostra o conteúdo de um ResultSet. A finalidade dessa classe, é mostrar os resultados de uma pesquisa, e qnd o usuário clicar no registro desejado, no caso, uma linha da JTable, eu mande essas informações para outra Janela. Meu problema é que não estou conseguindo criar um listener para capturar em cima de qual linha o usuário clicou. Se alguém puder me dar sugestões de como fazer isso, ficaria muito grato!
tente algo assim:
JTable table;
table.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
int linha = table.getSelectedRow();
}
});
Olá! Fiz como vc sugeriu e infelizmente não funcionou. E o problema é mais complicado do que eu imaginei!
Eu tenho um JFrame que só serve para o usuário realizar uma pequena busca. Qnd ele clica em pesquisar, eu tenho um listener que faz uma busca no bd e manda um resultSet para uma classe que mostra o resultado:
public void actionPerformed( ActionEvent e )
{
try {
Statement statement = connection.createStatement();
rs = statement.executeQuery("SELECT * FROM CLIENTE WHERE NOME LIKE ('%"+fields.nome.getText()+"%')");
td = new TableDisplay(rs);
td.addMouseListener(new findListener()); //Capturar a linha que o usuário clicou!?
output.append( "
Pesquisa Realizada com Sucesso!
" );
statement.close();
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
output.append( sqlex.toString() );
}
}
Como podemos ver, eu criei uma TableDisplay para mostrar o resultado e adicionei um listener, esse findListener é uma classe privada que extende a MouseAdapter e é onde eu deveria conseguir capturar em qual linha o usuário clicou. Tive alguns problemas também para conseguir acessar o resultset e os campos da janela que submeteu a consulta, mas fiz uma gambiarra aki e funcionou hehehe
É assim mesmo que se faz ?