Pessoal preciso de uma ajuda urgente, pessoal criei um JTable em um formulario de cliente e quando esse JTable é preenchido com todos os meu clientes ao selecionar um cliente na minha tabela e precionar a tecla enter gostaria que realizase uma ação como chamar um JOptionPane,chamar um metodo algo assim. Alguem pode me da um exemplo de como isso funciona? é urgente pessoal preciso resolver isso ate sexta feira teria como alguem me ajudar?
Olá leandro-maanaim,
Se é o q entendi, faz assim no botão de ação ou no evento do ENTER vc pega a linha q está selecionada na tabela:
Para capturar o evento do Enter faz assim:
Adiciona o evento KeyPressed na tabela:
import java.awt.Event;
...
private void tabelaXKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == Event.ENTER) {
//Faz alguma coisa
}
}
Para saber a linha selecionada:
int linha = tabelaX.getSelectedRow();
Vc pode fazer uma condição se caso nenhuma linha estiver selecionada:
if (linha != -1) {
//faz alguma coisa
}else{
JOptionPane.showMessageDialog(this, "Não há linha selecionada.\nPor favor, selecione.", "Aviso",JOptionPane.INFORMATION_MESSAGE);
}
Para você pegar o valor da linha selecionada:
String obj = (String) tabelaX.getValueAt(linha, 0);
// 0 dependendo da coluna sendo q o valor inicial é 0, ou seja se tiver 2 colunas e quer
// pegar o valor da coluna 2 vc muda de 0 para 1
Bom é isso espero ter ajudado. Bons estudos
E aproveitando, NÃO use DefaultTableModel.
Invés de voce pegar o valor da coluna 0, 1 ,2 e etc. voce pode criar um TableModel proprio e pegar o objeto inteiro usando apenas o indice da linha.