Seguinte galera, espero que possam me ajudar.
Estou com dificuldade em fazer uma JTable com eventos…
O problema é o seguinte: quero uma JTable onde o programa pegue a célula que o usuário alterou, o valor antigo e o valor novo dela… (pra depois eu jogar essa alteração via SQL).
Pegar a alteração não é o problema pois eu já consegui com o TableModelListener (metodo tableChanged), mas eu não estou conseguindo descobrir como faz pra pegar o valor antigo da célula…
ai vai a parte do código:
table.getModel().addTableModelListener(new TableModelListener()
{
public void tableChanged(TableModelEvent e)
{
int row = e.getFirstRow();
int column = e.getColumn();
TableModel model = (TableModel) e.getSource();
String columnName = model.getColumnName(column);
Object data = model.getValueAt(row, column);
JOptionPane.showMessageDialog(null, data.toString()); // mostra o valor já alterado
}
});
O problema é este, como eu pego o valor antigo, antes de ser alterado???
E o motivo de querer o valor antigo é que sempre que o usuario alterar o valor de uma célula, uma instrução sql do tipo (“UPDATE tabela SET “+columnName+”=” ‘"+data.toString()+"’ WHERE “+ columnName +” = "+ VALOR_ANTIGO) deve ser enviada pro banco de dados…
Podem me dar uma ajudinha nisso???
Valew!!!