Boa noite galera,
Criei minha Jtable e já estou conseguindo exibir meus dados vindos do banco nela, porem, eu gostaria de conseguir editar os dados dela da seguinte forma: Na hora que eu quisesse editar uma determinada linha, eu iria dar 2 cliques naquela linha e os dados dela seriam exibidos nos respectivos textfields, aí, ao atualizar tais campos, eu apenas iria clicar no botão Editar para que a informação fosse atualizada no meu Jtable.
No momento, eu tenho conseguindo inserir essas informações na JTable, porem ao tentar edita-las, na verdade ele tem adicionado um novo registro e eu não tenho entendido o porque, sei que devo estar me esquecendo de algum detalhe, por isso gostaria da ajuda dos amigos. Segue abaixo meu código. Lembrando que estou trabalhando com uma TableModel.
//Camada view
//Ação Botão salvar
if (tfnome.getText().equals("")) {
JOptionPane.showMessageDialog(null, "O campo 'Nome' deverá ser preenchido obrigatoriamente!");
} else {
Professores professor = new Professores();
professor.setNome(tfnome.getText());
try {
CadastrarProfessorDAO pro = new CadastrarProfessorDAO();
pro.salvar(professor);
model = new TableModel_Professores(new CadastrarProfessorDAO().RetornaTabela());
tabelaProfessores.setModel(model);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro:\n" + ex);
} finally {
tfnome.setText("");
}
//Evento ao se dar 2 cliques em minha Jtable para escolher uma determinada linha para alteração dos dados
if (evt.getClickCount() > 1) {
row = tabelaProfessores.rowAtPoint(evt.getPoint());
if (row >= 0) {
tfcodigo.setText(tabelaProfessores.getValueAt(row, 0).toString());
tfnome.setText(tabelaProfessores.getValueAt(row, 1).toString());
}
//ação botão editar
if (tfnome.getText().equals("")) {
JOptionPane.showMessageDialog(null, "O campo 'Nome' deverá ser preenchido obrigatoriamente!");
} else {
Professores professor = new Professores();
professor.setNome(tfnome.getText());
try {
CadastrarProfessorDAO pro = new CadastrarProfessorDAO();
pro.Atualizar(professor);
model = new TableModel_Professores(new CadastrarProfessorDAO().RetornaTabela());
tabelaProfessores.setModel(model);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro:\n" + ex);
}
Após editar os textfields e clicar no botão Editar, ele exibe a msg de atualização do cadastro porem minha Jtable não sofre nenhuma alteração, gostaria de saber então o que estaria faltando a ser adicionado em meu código, desde já agradeço qualquer ajuda.