Erro ao executar o insert ( Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException)

Boa tarde pessoal sou novo no forun e estou aqui a busca de novos conhecimentos e ajuda dos amigos e claro no que eu puder ajudar estarei a disposição…
Pessoal começei a criar uma aplicação com netbeans 6.5 e acessando uma base de dados postgres 8.1 fiz a classe conecta, depois criei um formulario basico de cadastro de cliente o seguinte quando vou executar um insert ele esta me dado a seguinte mensagem de erro…

Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at cadastro.cad_cliente.btn_gravaActionPerformed(cad_cliente.java:660)
at cadastro.cad_cliente.access$200(cad_cliente.java:22)
at cadastro.cad_cliente$3.actionPerformed(cad_cliente.java:236)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:5517)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
at java.awt.Component.processEvent(Component.java:5282)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3984)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1791)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Meu codigo para o insert é o seguinte :

    private void btn_gravaActionPerformed(java.awt.event.ActionEvent evt) {                                          

        try
        {
            String  sqlinsert = "INSERT INTO cliente (cli_nome,cli_endereco," +
                    "cli_email,cli_bairro,cli_cidade,cli_uf,cli_fone,cli_fonecel," +
                    "cli_cpf,cli_obs,cli_rg,cli_orgaorg,cli_dtnasc,cli_dtcad,cli_cnpj," +
                    "cli_insest,cli_sexo,cli_profissao,cli_empresa,cli_foneemp,cli_renda," +
                    "cli_referencia,cli_foneref,cli_auditoria,cli_cep)" +
                    " VALUES ('"+edt_nome.getText()+"','"+edt_endereco.getText()+"','"+edt_email.getText()+"'," +
                    "'"+edt_bairro.getText()+"','"+edt_cidade.getText()+"','"+cb_uf.getSelectedItem()+"','"+edt_foneres.getText()+"'" +
                    "'"+edt_fonecel.getText()+"','"+edt_cpf.getText()+"','"+edt_obs.getText()+"','"+edt_rg.getText()+"'," +
                    "'"+edt_orgexped.getText()+"','"+edt_dtnasc.getText()+"','"+edt_dtcad.getText()+"','"+edt_cnpf.getText()+"'," +
                    "'"+edt_insest.getText()+"','"+cb_sexo.getSelectedItem()+"','"+edt_profissao.getText()+"',+" +
                    "'"+edt_empresa.getText()+"','"+edt_foneemp.getText()+"','"+edt_renda.getText()+"','"+edt_ref.getText()+"',+" +
                    "'"+edt_foneref.getText()+"','"+edt_auditoria.getText()+"','"+edt_cep.getText()+"')";
                    con_cliente.statement.executeUpdate(sqlinsert);
                    JOptionPane.showMessageDialog(null,"Gravação efetuada com sucesso. ");
                    con_cliente.resultSet = con_cliente.statement.executeQuery("select * from cliente ");
                    con_cliente.resultSet.next();
        }
                   catch(SQLException erro)
                    {
                        JOptionPane.showMessageDialog(null,"Não foi possivel inserir o registro"+erro);
                    }
    }                                         

Aqui vai minha classe conexão

package utilitarios;
import java.sql.*;
import javax.swing.*;


public class conexao
{

 final private String driver = "org.postgresql.Driver";
 final private String url = "jdbc:postgresql://localhost:5432/ecf";
 final private String usuario ="postgres";
 final private String senha ="postgres";
 private Connection conexao;
 public Statement statement;
 public ResultSet resultSet;

 public boolean conecta()
 {
     boolean result = true;
     try
     {
       Class.forName(driver);
       conexao = DriverManager.getConnection(url,usuario,senha);
        JOptionPane.showMessageDialog(null,"conectou!!!");
     }
     catch(ClassNotFoundException Driver)
     {
       JOptionPane.showMessageDialog(null,"Driver não localizado!!"+Driver);
       Driver.printStackTrace();     
       result = false;
     }
     catch(SQLException Fonte)
     {
       JOptionPane.showMessageDialog(null,"Deu erro na conexão "+
              "com a fonte de dados "+Fonte);
      result = false;
     }
      return result;
 }
     public void desconecta()
     {
         boolean result = true;
         try
         {
           conexao.close();
           JOptionPane.showMessageDialog(null,"Conexão fechada.");
         }
         catch (SQLException fecha)
         {
             JOptionPane.showMessageDialog(null,"Não foi possivel fecha"+
                     "o bando de dados."+fecha.getMessage());
             result = false;

         }


     }

        public void executeSQL(String sql)
        {
            try
            {
               statement = conexao.createStatement(resultSet.TYPE_SCROLL_SENSITIVE,
               resultSet.CONCUR_READ_ONLY);
               resultSet = statement.executeQuery(sql);
            }
            catch(SQLException sqlex)
            {
                JOptionPane.showMessageDialog(null," Não foi possivel"+
                 "executar o comando sql." +sqlex+ " O sql passado foi " +sql);
            }
     }
}

Como posso resolver este problema ???
Se alguem tiver alguma dica
Grato desde ja…

não sei o certo…mas vou chutar

essa variável “java.awt.event.ActionEvent evt”

deve estar vindo null… mas não acho que seja por isso o código…

ele da erro na hora do insert ?

caso seja antes do insert…vc poderia fazer essa inserção como listener…add listener no botão…

espero ter ajudado…