Bom dia a todos!
É o seguinte, tenho uma tabela do tipo JTable em FormTabela, em FormTabela eu tenho um método para atualizar essa tabela atraves de outras classes.
public void atualizarTabela(){
tabela.revalidate();
}
essa minha tabela recebe os clientes cadastro no DB MySql.
Eu tenho dois Botões onde, um é para excluir um clientes e o outro para alterar, quando é feita essa mudança (Exclusão ou Alteração), eu chamo o
método atualizarTabela(), mais nada acontece, a tabela não atualiza de forma dinamica.
OBS.: No banco é feita a modificação, se eu fechar e abrir o form que tem minha tabela, a alteração é vista, mas eu quero isso de forma dinamica, sem que precise eu fechar e abrir minha tabela.
Não sei se fui claro, agradeço qualquer ajuda!
[code]
private void butao01MouseClicked(java.awt.event.MouseEvent evt) {
// se o butão 01 estiver habilitado
if (butao01.isEnabled()){ // início do if 01
table = new FormTabela(); // cria um objeto local a switch do tipo FormTabela
switch (numeroDoCase){
case 1: // CLIENTES
{
//########################### INCLUIR USUÁRIO ###########################################################
//se o texto do butão 01 for = INCLUÍR
if(butao01.getText().equals(“Incluir”)){
// todo o código para INCLUÍR o cliente no banco de dados vai aqui:
try{
conexao.pstmt = conexao.conn.prepareStatement(“INSERT INTO clientes (codigo,nomeCliente) VALUES (?,?)”);
conexao.pstmt.setInt(1, Integer.parseInt(fieldCodigo.getText()));
conexao.pstmt.setString(2,fieldNome.getText());
conexao.pstmt.execute();
conexao.pstmt.close();
fieldCodigo.setText("");
fieldNome.setText("");
JOptionPane.showMessageDialog(this,"Cliente Cadastrado!");
fieldNome.transferFocusBackward();
}catch (SQLException ex){
JOptionPane.showMessageDialog(null,"Erro na SQL ao Inserir o clientes, Exeção : "+ex);
}
}// fim do if 01
else{
//########################### EXCLUIR USUÁRIO ###########################################################
// se o texto do butão 01 for = EXCLUÍR CLIENTE
if (butao01.getText().equals("Excluir")){
// todo o código para EXCLUÍR o cliente no banco de dados vai aqui:
try{
// instrunção para excluir o cliente do banco com o código retornado pelo campo codigo
conexao.stmt.executeUpdate("DELETE FROM clientes WHERE codigo ="+fieldCodigo.getText());
JOptionPane.showMessageDialog(this,"Cliente Excluído!");
table.atualizarTabela();
}catch(SQLException sqlex){
JOptionPane.showMessageDialog(this,"Erro na exclusão: "+sqlex);
}
this.dispose(); // fecha o FormCadastro
}else{
//########################### ALTERAR USUÁRIO ###########################################################
// se o texto do butão 01 for = ALTERAR CLIENTE
if (butao01.getText().equals("Alterar")){
fieldNome.setEditable(true); // Habilita o fieldNome para mudar o nome do usuario
butao01.setText("Salvar"); // Muda o nomem do botão 01 para SALVAR
}else{
// se o texto do butão 01 for = SALVAR CLIENTE
if (butao01.getText().equals("Salvar")){ // if 02
// todo o código para SALVAR o cliente no banco de dados vai aqui:
try{
conexao.stmt.executeUpdate("UPDATE clientes SET nomeCliente = '"+fieldNome.getText()+
"' WHERE codigo = "+fieldCodigo.getText());
JOptionPane.showMessageDialog(this,"O Cadastro do cliente foi Alterado com sucesso!!!");
fieldCodigo.setEditable(false);
fieldNome.setEditable(false);
butao01.setText("Alterar");
table.atualizarTabela();
this.dispose();
}catch(SQLException ex){
JOptionPane.showMessageDialog(null,"Erro na sql alterar clientes SAÍDA : "+ex);
}
} // Fim do if 02
} // Fim do else 03
} // Fim do else 02
} // Fim do else 01
break;
} // fim do case 01 "CLIENTES"
[/code]