Ajuda pelo amor de deus!

Estou com um problema para atualizar a minha tabel, quando eu altero um evento ela é atualizada sem problema, mas quando eu peço para excluir um evento, ele é excluído, mas minha tabela não é atualizada, e esse evento excluído só sai quando eu fecho o form e abro dinovo.
segue os códigos:

[code] private void buttonExcluirMouseClicked(java.awt.event.MouseEvent evt) {
// Excluir um evento (Não esta atualizando a minha tabela)
try{
conexao.stmt.execute("delete from movimentos where codigo = " +fieldCodEvento.getText());
JOptionPane.showMessageDialog(this,“Movimento excluído!”);

        chamarEvento(fieldCodFuncionario.getText()); // preenche a minha tabela com os dados do banco
        
    }catch(SQLException e){
        e.printStackTrace();
        JOptionPane.showMessageDialog(this,"O Movimento não foi excluído!");
    }
}                                          

private void buttonOKMouseClicked(java.awt.event.MouseEvent evt) {                                      
    
    // se o fieldQuantidade estiver vazio
    if(fieldQuantidade.getText().isEmpty()){
        // insere a String 0 no fieldQuantidade
        fieldQuantidade.setText("0");
    }else{
        if(fieldValor.getText().isEmpty()){
            // insere a String 0 no fieldValor
            fieldValor.setText("0");
        }
    }
    // Alterar o evento (tá funcionando BLZ)
    try{
        conexao.stmt.executeUpdate("UPDATE movimentos SET "+
                "quantidade = '"+fieldQuantidade.getText()+"',"+
                "valor = '"+fieldValor.getText()+"'"+
                "WHERE codigo = "+fieldCodEvento.getText());
        
        JOptionPane.showMessageDialog(this,"Evento alterado!");
        
        chamarEvento(fieldCodFuncionario.getText()); // preenche a minha tabela com os dados do banco
        
    }catch(SQLException e){
        e.printStackTrace();
    }[/code]

Vou postar tb o código da classe chamarEvento

[code]// Método usado para chamar todos os eventos de um determinado funcionário
public void chamarEvento(String strCodigo){ // Esse método recebe um parametro para ser usado como o código do funcionário a ser pesquisado

    // o objeto do tipo JTextField recebe a variavel do parametro do método
    fieldCodigo.setText(strCodigo);
    
    try{
        /* Essa query seleciona todos os eventos da tabela movimento que tenha o código do funcionário desejado
           e passa esses dados para a variavel de referencia conexao.rs */
        conexao.rs = conexao.stmt.executeQuery("SELECT movimentos.registro,movimentos.nome,movimentos.codigo,movimentos.descrincao, movimentos.quantidade, movimentos.valor" +
                " FROM movimentos,funcionarios WHERE funcionarios.registro = movimentos.registro AND funcionarios.registro = '"+fieldCodigo.getText()+"'");
        
        // representa a linha da tabela
        int linha = 0;
        
        // enquanto a houver um próximo registro
        while (conexao.rs.next()) {
            
            fieldCodFuncionario.setText(conexao.rs.getString("registro"));
            fieldNomeDoFuncionario.setText(conexao.rs.getString("nome"));
            // tabela recebe o código do movimento
            tabelEventoFunc.setValueAt(conexao.rs.getString("codigo"), linha, 0);
            // tabela recebe o registro do funcionário
            tabelEventoFunc.setValueAt(conexao.rs.getString("descrincao"), linha, 1);
            // tabela recebe o nome do funcionario
            tabelEventoFunc.setValueAt(conexao.rs.getString("quantidade"), linha, 2);
            // tabela recebe o nome do funcionario
            tabelEventoFunc.setValueAt(conexao.rs.getString("valor"), linha, 3);
            
            // linha recebe 1 (para simular a próxima linha)
            linha++;
            
        }
        conexao.rs.close();
        
    }catch(SQLException e){
        e.printStackTrace();
    }
}[/code]

Não entendi bem, o que não atualiza é a tabela no DB ou sua interface??

Depois de excluir o registro, invoke o método revalidate() do panel onde está a listagem.

acho que isso resolve seu problema.

Use a table do jeito certo. Você alterar os dados da tabela sempre através do Model, não através da view (que no caso é a classe JTable).

Dê uma lida no seguinte tutorial (em inglês):
http://www.informit.com/articles/article.aspx?p=332278&rl=1

Você vai ver que implementar o seu TableModel deixa o código mais limpo, claro, orientado a objetos e desacoplado. E evita o problema que você está tendo. Os resultados são excelentes.

PS: Nâo crie tópicos com títulos como esse. Seria muito melhor um tópico como “problemas JTable”. Já daria a dica para quem vai te ajudar de que o problema é no Swing, e não em web.

O método revalidate() não funcionou.

[code]private void buttonExcluirMouseClicked(java.awt.event.MouseEvent evt) {

    try{
        conexao.stmt.executeUpdate("delete from movimentos where codigo = " +fieldCodEvento.getText());
        JOptionPane.showMessageDialog(this,"Movimento excluído!");
        
        tabelEventoFunc.revalidate(); // REVALIDATE
       
        
    }catch(SQLException e){
        e.printStackTrace();
        JOptionPane.showMessageDialog(this,"O Movimento não foi excluído!");
    }
}                           [/code]

Mais uma vez… esse aí é o caminho errado…

Pesquise sobre o TableModel, que é o jeito certo de se trabalhar com JTables.
Você vai ver que é muito mais simples e não tem problemas desse tipo.

By the way,

Aqui tem um exemplo de um TableModel simples, que implementei há uns tempos atrás no GUJ:
http://www.guj.com.br/posts/list/57203.java#300612