Pessoal, criei um CellEditor para alterar os dados de uma tabela que é populada via banco de dados.
Assim, quando o editor de uma célula perde o focus, ela é rapidamente atulizada no banco de dados.
O problema é que a célula é atulizada sim, mas com o valor do próximo editor (isso se o focus for perdido clicando em outra célula). Se der enter, ao invés de clicar em outra célula, o método funciona certinho.
txt.addFocusListener(new FocusAdapter() {
public void focusLost(FocusEvent e) {
int ID = Integer.parseInt(table.getValueAt(row, 0).toString());
String novo_valor = txt.getText();
//atualizar(ID_do_registro, coluna_a_atualizar, novo_valor)
//m = minha tabela
m.atualizar(ID, column, novo_valor);
}
});