Update na tabela

Pessoal, estou com um projeto no netbeans e usando o jdbc, e estou criando um botão “editar”, segue meu problema.

Tenho uma jframe com 3 campos para serem preenchido… fiz uma action q quando a pessoa der 2 cliques na tabela, automaticamente ele sobe os valores q a pessoa deseja editar nos 3 campos que são: Linha, Setor e Tipo. Se eu fizer alteração no campo “Linha” e clicar no botão editar, ele edita normalmente, mas se eu editar o campo “Setor” e clicar em editar, ele faz alteração mas mesmo eu dando um refresh não atualiza na tabela, mas quando eu fecho o programa e abro novamente ele fez a alteração. Lembrando q se eu fizer alteração no campo “Linha” e depois nos outros, ele salva normalmente, mas quando eu “NÃO” faço alteração no campo “Linha” e sim nos outros, ele não atualiza quando do refresh, apenas quando fecho e abro o soft.

Segue abaixo meu código

  try {
            Class.forName(driver);
            Connection con = DriverManager.getConnection(url, user, pass);
            String sql = "update Linha set LINHA=?, TIPO=?, SETOR=? where id_linha=?";
            PreparedStatement pst = con.prepareStatement(sql);
            pst.setString(1, CadlinhaLinha.getText());
            pst.setString(2, CadlinhaTipo.getText());
            pst.setString(3, CadlinhaSetor.getText());
            pst.setString(4, teste.getText());

            if (CadlinhaLinha.getText().isEmpty()) {
                JOptionPane.showMessageDialog(null, "O campo 'Linha' é  orbigatório!", "", JOptionPane.WARNING_MESSAGE);
                CadlinhaLinha.requestFocus();
            } else if (CadlinhaTipo.getText().isEmpty()) {
                JOptionPane.showMessageDialog(null, "O campo 'Tipo' é  orbigatório!", "", JOptionPane.WARNING_MESSAGE);
                CadlinhaTipo.requestFocus();
            } else if (CadlinhaSetor.getText().isEmpty()) {
                JOptionPane.showMessageDialog(null, "O campo 'Setor' é  orbigatório!", "", JOptionPane.WARNING_MESSAGE);
                CadlinhaSetor.requestFocus();
            } else {

                pst.executeUpdate();
                JOptionPane.showMessageDialog(this, "Alterado com sucesso com sucesso!!");

                Cadlinha tela = new Cadlinha();
                tela.setVisible(true);
                dispose();

            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, e.getMessage());
        }

    }

    {

Bom, seu eu entendi o problema é na Tabela, e não no update certo? Está usando Jtable? Veja