Desativar a tecla Enter de descer uma linha no JTable
Eu preciso substituir a funcionalidade da tecla enter em uma JTable. Atualmente, o comportamento padrão é mover a seleção de linha uma linha para baixo quando o usuário pressiona a tecla 'Enter'. Quero desabilitar isso e fazer algo diferente com base na seleção deles. O problema é que ele parece se mover para baixo antes de entrar no meu keylistener, o que leva à seleção da linha - isso, portanto, abre outra janela com a linha errada selecionada.
Este é o meu código até agora ...:
public class MyJTable extends JTable {
public MyJTable(){
setRowSelectionAllowed(true);
addListeners()
}
public void addListeners(){
addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {}
@Override
public void keyPressed(KeyEvent e) {}
@Override
public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
if (key == KeyEvent.VK_ENTER) {
openChannel();
}
}
});
}
public void openChannel(){
for (int selectedRow : getSelectedRows()){
//Code to open channel based on row selected
}
}
}