quarta-feira, 15 de julho de 2009

Pegar clique e setas do teclado na jTable

Para nós podermos pegar ambos os comandos tanto de teclado como de mouse, já vi várias implementações, mas a melhor que eu achei é essa:

gridproduto.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

public void valueChanged(ListSelectionEvent e) {
if (gridproduto.getSelectedRow() != -1) {
prod = modelo.getTprodutos(gridproduto.getSelectedRow());
System.out.println(prod.getNome());
}
});

Pelo simples fato desse método ser chamado somente quando a seleção mudar na jTable. Mas como nada é perfeito temos um probleminha nessa implementação, quando é utilizado o mouse para selecionar outra célula da jTable o código é executado duas vezes.