Erro: Exception in thread "AWT-EventQueue-0

Pessoal… o codigo tava funcionando perfeitamente… mas ai fui mudar para o padrao de projeto DAO e começou a dar errado.
Quando estava funcionando, o metodo gravar_DAO_Cli estava dentro da class CadastroClienteGraf… ou seja… tava tudo dentro dessa class.
Agora que eu coloquei o metodo gravar na class ClientesDAO… ta dando errado.

O meu codigo agora está o seguinte… tenho uma class CadastroClienteGraf que tem os campos onde o usuario vai preencher (jtextfield)
tenho uma class ClienteJavaBean que tem as variaveis com os metodos get e set, onde eu pego os dados preenchidos no campos do jtextfield da class CaastroClienteGraf
e tenho a class ClientesDAO que possui o metodo gravar no banco de dados.

O erro que está acontecendo é:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at ClientesDAO.gravar_DAO_Cli(ClientesDAO.java:57) at CadastroClienteGraf$2.actionPerformed(CadastroClienteGraf.java:726) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

O que tem em "at ClientesDAO.gravar_DAO_Cli(ClientesDAO.java:57) " é :

[code]public void gravar_DAO_Cli(){
try {
conecta_cli.statement.executeUpdate(“insert into cliente (nomeCliente, PessoaCliente, " +
“fantasiaCli, cpfCliente, InscEstadual, InscMunicipal, TipoCli, SexoCli,” +
“EndereçoCli, ComplementoCli, BairroCli, CidadeCli, ufCliente, CEPCli, " +
“nomeCont1Cli,DepartCont1Cli, telefoneCont1Cli, Celular1Cont1Cli, " +
“Celular2Cont1Cli, FaxCont1Cli, emailCont1Cli, siteCli, nomeCont2Cli,” +
“DepartCont2Cli, telefoneCont2Cli, Celular1Cont2Cli, emailCont2Cli) " +
“values (’”+Cli_JB.getJB_JTextFieldNome()+”’,’”+Cli_JB.getJB_jCB_PessoaCliente()+”’,’”+
Cli_JB.getJB_JTF_FantasiaCliente()+"’,’"+ Cli_JB.getJB_JTextFieldCPF()+"’,’"+
Cli_JB.getJB_jTF_InscEstadual()+"’,’"+ Cli_JB.getJB_jTF_InscMunicipal()+"’,’"+
Cli_JB.getJB_jCB_TipoCliente()+"’,’"+ Cli_JB.getJB_jCB_SexoCli()+"’,’"+
Cli_JB.getJB_jTF_EndCliente()+"’,’"+ Cli_JB.getJB_jTF_ComplementoCli()+"’,’"+
Cli_JB.getJB_jTF_BairroCli()+"’,’"+ Cli_JB.getJB_jTF_CidadeCli()+"’,’"+
Cli_JB.getJB_jComboBoxUFcliente()+"’,’"+ Cli_JB.getJB_jTF_CEPcli()+"’,’"+
Cli_JB.getJB_jTF_NomeContato1Cli()+"’,’"+ Cli_JB.getJB_jTF_DepartCli()+"’,’"+
Cli_JB.getJB_jTF_TelefoneCli()+"’,’"+ Cli_JB.getJB_jTF_Celular1Cli()+"’,’"+
Cli_JB.getJB_jTF_Celular2Cli()+"’,’"+ Cli_JB.getJB_jTF_FaxCli()+"’,’"+
Cli_JB.getJB_jTF_EmailCli()+"’,’"+ Cli_JB.getJB_jTF_SiteCli()+"’,’"+
Cli_JB.getJB_jTF_NomeContato2Cli()+"’,’"+ Cli_JB.getJB_jTF_DepartamentoCli()+"’,’"+
Cli_JB.getJB_jTF_Telefone2Cli()+"’,’"+ Cli_JB.getJB_jTF_CelCont2Cli()+"’,’"+
Cli_JB.getJB_jTF_EmailCont2Cli()+ “’)”);

} catch (SQLException e) {
	JOptionPane.showMessageDialog(null, "Não está conseguindo salvar. Erro: "+e);
	e.printStackTrace();
}

}[/code]

[code]private JButton getBotaoSalvarCliente() {
	if (BotaoSalvarCliente == null) {
		BotaoSalvarCliente = new JButton();
		BotaoSalvarCliente.setBounds(new Rectangle(292, 430, 141, 24));
		BotaoSalvarCliente.setEnabled(true);
		BotaoSalvarCliente.setText("Salvar/Fechar");
		BotaoSalvarCliente.addActionListener(new java.awt.event.ActionListener() {
					public void actionPerformed(java.awt.event.ActionEvent evt) {
							
						if ((JTextFieldNome.getText().equals("")) | (jComboBoxUFcliente.getSelectedItem().equals(""))) {
							JOptionPane.showMessageDialog(null, "Preencha o campo Nome e UF.");
						}
						else {
							ClientesDAO CliDAO = new ClientesDAO();
							CliDAO.gravar_DAO_Cli();  // aki está  o ponto "at CadastroClienteGraf$2.actionPerformed(CadastroClienteGraf.java:726)"
							System.exit(0); // fechar depois de salvar
							//conecta_cli.desconecta();
						}
					}
				});
	}
	return BotaoSalvarCliente;
}[/code]

Uma sugestão. Se vai usar DAO, faça isso da maneira correta. Crie um objeto com os mesmos atributos que você possui na tela, normalmente chamado BEAN. Então, quando clicar no evento que chama a ação do DAO, primeiro preencha todos os campos do BEAN com os valores da tela. Crie, também, um DTO (Data Transfer Object) de requisição (você estará chamando o DAO), nele, você precisa conter uma variável que receba os mesmos atributos da BEAN (há quem chame esta variável de MODEL) e setá-la com os valores da BEAN previamente criado.
Aí, este DTO será lançado para o DAO e, no DAO, você pode extrar o objeto MODEL e seus valores serão usados para criar a query.

Para um SELECT, use a mesma lógica, mas inversamente. Faça o select, pegue os dados, popule o objeto MODEL (ou vários objetos MODEL), coloque num DTO de resposta (pois está saindo do DAO), pegue este DTO Response na camada adequada, retire os valores do MODEL para um BEAN e com estes, preencha a tela (ou form).

Entendido?

Ah, sobre o erro, um NullPointerException indica que alguma variável que você tenta utilizar não foi instanciada. Meu palpite, os getTexts dos JTextField dentro da query.

Essa é minha class bean…

[code]public class ClienteJavaBean implements java.io.Serializable {

private String JB_JTextFieldNome;
private String JB_JTextFieldCPF;
private String JB_JTF_FantasiaCliente;
private String JB_jTF_InscEstadual;
private String JB_jTF_InscMunicipal;
private String JB_jTF_EndCliente;
private String JB_jTF_ComplementoCli;
private String JB_jTF_BairroCli;
private String JB_jTF_CidadeCli;
private String JB_jTF_CEPcli;
private String JB_jTF_TelefoneCli;
private String JB_jTF_Celular1Cli;
private String JB_jTF_Celular2Cli;
private String JB_jTF_FaxCli;
private String JB_jTF_EmailCli;
private String JB_jTF_SiteCli;
private String JB_jTF_NomeContato2Cli;
private String JB_jTF_Telefone2Cli;
private String JB_jTF_DepartamentoCli;
private String JB_jTF_CelCont2Cli;
private String JB_jTF_EmailCont2Cli;
private String JB_jTF_NomeContato1Cli;
private String JB_jTF_DepartCli;

private String JB_JTextFieldCodigoCliente;
private String JB_jTextField_ObservaçoesCliente;
private String JB_jTF_Pesquisa;
	
private String JB_jComboBoxUFcliente;
private String JB_jCB_PessoaCliente;
private String JB_jCB_TipoCliente;
private String JB_jCB_SexoCli;
private String JB_jCB_OpAlterarCli;

private String JB_jTableCliCadastrados;

CadastroClienteGraf cadCliGrf = new CadastroClienteGraf();


public ClienteJavaBean() {
}

public String getJB_JTextFieldNome() {
	String GF_JTextFieldNome = cadCliGrf.getJTextFieldNome().getText();
	this.JB_JTextFieldNome = GF_JTextFieldNome;
	return JB_JTextFieldNome;
}

public void setJB_JTextFieldNome(String jB_JTextFieldNome) {
	JB_JTextFieldNome = jB_JTextFieldNome;
}

public String getJB_JTextFieldCPF() {
	String GF_JTextFieldCPF = cadCliGrf.getJTextFieldCPF().getText();
	this.JB_JTextFieldCPF = GF_JTextFieldCPF;
	return JB_JTextFieldCPF;
}

public void setJB_JTextFieldCPF(String jB_JTextFieldCPF) {
	JB_JTextFieldCPF = jB_JTextFieldCPF;
}

public String getJB_JTF_FantasiaCliente() {
	String GF_JTF_FantasiaCliente = cadCliGrf.getJTF_FantasiaCliente().getText();
	this.JB_JTF_FantasiaCliente = GF_JTF_FantasiaCliente;
	return JB_JTF_FantasiaCliente;
}

public void setJB_JTF_FantasiaCliente(String jB_JTF_FantasiaCliente) {
	JB_JTF_FantasiaCliente = jB_JTF_FantasiaCliente;
}

public String getJB_jTF_InscEstadual() {
	String GF_jTF_InscEstadual = cadCliGrf.getJTF_InscEstadual().getText();
	this.JB_jTF_InscEstadual = GF_jTF_InscEstadual;
	return JB_jTF_InscEstadual;
}

public void setJB_jTF_InscEstadual(String jB_jTF_InscEstadual) {
	JB_jTF_InscEstadual = jB_jTF_InscEstadual;
}

public String getJB_jTF_InscMunicipal() {
	String GF_jTF_InscMunicipal = cadCliGrf.getJTF_InscMunicipal().getText();
	this.JB_jTF_InscMunicipal = GF_jTF_InscMunicipal;
	return JB_jTF_InscMunicipal;
}

public void setJB_jTF_InscMunicipal(String jB_jTF_InscMunicipal) {
	JB_jTF_InscMunicipal = jB_jTF_InscMunicipal;
}

public String getJB_jTF_EndCliente() {
	String GF_jTF_EndCliente = cadCliGrf.getJTF_EndCliente().getText();
	this.JB_jTF_EndCliente = GF_jTF_EndCliente;
	return JB_jTF_EndCliente;
}

public void setJB_jTF_EndCliente(String jB_jTF_EndCliente) {
	JB_jTF_EndCliente = jB_jTF_EndCliente;
}

public String getJB_jTF_ComplementoCli() {
	String GF_jTF_ComplementoCli = cadCliGrf.getJTF_ComplementoCli().getText();
	this.JB_jTF_ComplementoCli = GF_jTF_ComplementoCli;
	return JB_jTF_ComplementoCli;
}

public void setJB_jTF_ComplementoCli(String jB_jTF_ComplementoCli) {
	JB_jTF_ComplementoCli = jB_jTF_ComplementoCli;
}

public String getJB_jTF_BairroCli() {
	String GF_jTF_BairroCli = cadCliGrf.getJTF_BairroCli().getText();
	this.JB_jTF_BairroCli = GF_jTF_BairroCli;
	return JB_jTF_BairroCli;
}

public void setJB_jTF_BairroCli(String jB_jTF_BairroCli) {
	JB_jTF_BairroCli = jB_jTF_BairroCli;
}

public String getJB_jTF_CidadeCli() {
	String GF_jTF_CidadeCli = cadCliGrf.getJTF_CidadeCli().getText();
	this.JB_jTF_CidadeCli = GF_jTF_CidadeCli;
	return JB_jTF_CidadeCli;
}

public void setJB_jTF_CidadeCli(String jB_jTF_CidadeCli) {
	JB_jTF_CidadeCli = jB_jTF_CidadeCli;
}

public String getJB_jTF_CEPcli() {
	String GF_jTF_CEPcli = cadCliGrf.getJTF_CEPcli().getText();
	this.JB_jTF_CEPcli = GF_jTF_CEPcli;
	return JB_jTF_CEPcli;
}

public void setJB_jTF_CEPcli(String jB_jTF_CEPcli) {
	JB_jTF_CEPcli = jB_jTF_CEPcli;
}

public String getJB_jTF_TelefoneCli() {
	String GF_jTF_TelefoneCli = cadCliGrf.getJTF_TelefoneCli().getText();
	this.JB_jTF_TelefoneCli = GF_jTF_TelefoneCli;
	return JB_jTF_TelefoneCli;
}

public void setJB_jTF_TelefoneCli(String jB_jTF_TelefoneCli) {
	JB_jTF_TelefoneCli = jB_jTF_TelefoneCli;
}

public String getJB_jTF_Celular1Cli() {
	String GF_jTF_Celular1Cli = cadCliGrf.getJTF_Celular1Cli().getText();
	this.JB_jTF_Celular1Cli = GF_jTF_Celular1Cli;
	return JB_jTF_Celular1Cli;
}

public void setJB_jTF_Celular1Cli(String jB_jTF_Celular1Cli) {
	JB_jTF_Celular1Cli = jB_jTF_Celular1Cli;
}

public String getJB_jTF_Celular2Cli() {
	String GF_jTF_Celular2Cli = cadCliGrf.getJTF_Celular2Cli().getText();
	this.JB_jTF_Celular2Cli = GF_jTF_Celular2Cli;
	return JB_jTF_Celular2Cli;
}

public void setJB_jTF_Celular2Cli(String jB_jTF_Celular2Cli) {
	JB_jTF_Celular2Cli = jB_jTF_Celular2Cli;
}

public String getJB_jTF_FaxCli() {
	String GF_jTF_FaxCli = cadCliGrf.getJTF_FaxCli().getText();
	this.JB_jTF_FaxCli = GF_jTF_FaxCli;
	return JB_jTF_FaxCli;
}

public void setJB_jTF_FaxCli(String jB_jTF_FaxCli) {
	JB_jTF_FaxCli = jB_jTF_FaxCli;
}

public String getJB_jTF_EmailCli() {
	String GF_jTF_EmailCli = cadCliGrf.getJTF_EmailCli().getText();
	this.JB_jTF_EmailCli = GF_jTF_EmailCli;
	return JB_jTF_EmailCli;
}

public void setJB_jTF_EmailCli(String jB_jTF_EmailCli) {
	JB_jTF_EmailCli = jB_jTF_EmailCli;
}

public String getJB_jTF_SiteCli() {
	String GF_JB_jTF_SiteCli = cadCliGrf.getJTF_SiteCli().getText();
	this.JB_jTF_SiteCli = GF_JB_jTF_SiteCli;
	return JB_jTF_SiteCli;
}

public void setJB_jTF_SiteCli(String jB_jTF_SiteCli) {
	JB_jTF_SiteCli = jB_jTF_SiteCli;
}

public String getJB_jTF_NomeContato2Cli() {
	String GF_jTF_NomeContato2Cli = cadCliGrf.getJTF_NomeContato2Cli().getText();
	this.JB_jTF_NomeContato2Cli = GF_jTF_NomeContato2Cli;
	return JB_jTF_NomeContato2Cli;
}

public void setJB_jTF_NomeContato2Cli(String jB_jTF_NomeContato2Cli) {
	JB_jTF_NomeContato2Cli = jB_jTF_NomeContato2Cli;
}

public String getJB_jTF_Telefone2Cli() {
	String GF_jTF_Telefone2Cli = cadCliGrf.getJTF_Telefone2Cli().getText();
	this.JB_jTF_Telefone2Cli = GF_jTF_Telefone2Cli;
	return JB_jTF_Telefone2Cli;
}

public void setJB_jTF_Telefone2Cli(String jB_jTF_Telefone2Cli) {
	JB_jTF_Telefone2Cli = jB_jTF_Telefone2Cli;
}

public String getJB_jTF_DepartamentoCli() {
	String GF_jTF_DepartamentoCli = cadCliGrf.getJTF_DepartamentoCli().getText();
	this.JB_jTF_DepartamentoCli = GF_jTF_DepartamentoCli;
	return JB_jTF_DepartamentoCli;
}

public void setJB_jTF_DepartamentoCli(String jB_jTF_DepartamentoCli) {
	JB_jTF_DepartamentoCli = jB_jTF_DepartamentoCli;
}

public String getJB_jTF_CelCont2Cli() {
	String GF_jTF_CelCont2Cli = cadCliGrf.getJTF_CelCont2Cli().getText();
	this.JB_jTF_CelCont2Cli = GF_jTF_CelCont2Cli;
	return JB_jTF_CelCont2Cli;
}

public void setJB_jTF_CelCont2Cli(String jB_jTF_CelCont2Cli) {
	JB_jTF_CelCont2Cli = jB_jTF_CelCont2Cli;
}

public String getJB_jTF_EmailCont2Cli() {
	String GF_jTF_EmailCont2Cli = cadCliGrf.getJTF_EmailCont2Cli().getText();
	this.JB_jTF_EmailCont2Cli = GF_jTF_EmailCont2Cli;
	return JB_jTF_EmailCont2Cli;
}

public void setJB_jTF_EmailCont2Cli(String jB_jTF_EmailCont2Cli) {
	JB_jTF_EmailCont2Cli = jB_jTF_EmailCont2Cli;
}

public String getJB_jTF_NomeContato1Cli() {
	String GF_jTF_NomeContato1Cli = cadCliGrf.getJTF_NomeContato1Cli().getText();
	this.JB_jTF_NomeContato1Cli = GF_jTF_NomeContato1Cli;
	return JB_jTF_NomeContato1Cli;
}

public void setJB_jTF_NomeContato1Cli(String jB_jTF_NomeContato1Cli) {
	JB_jTF_NomeContato1Cli = jB_jTF_NomeContato1Cli;
}

public String getJB_jTF_DepartCli() {
	String GF_jTF_DepartCli = cadCliGrf.getJTF_DepartCli().getText();
	this.JB_jTF_DepartCli = GF_jTF_DepartCli;
	return JB_jTF_DepartCli;
}

public void setJB_jTF_DepartCli(String jB_jTF_DepartCli) {
	JB_jTF_DepartCli = jB_jTF_DepartCli;
}

public String getJB_JTextFieldCodigoCliente() {
	String GF_JTextFieldCodigoCliente = cadCliGrf.getJTextFieldCodigoCliente().getText();
	this.JB_JTextFieldCodigoCliente = GF_JTextFieldCodigoCliente;
	return JB_JTextFieldCodigoCliente;
}

public void setJB_JTextFieldCodigoCliente(String jB_JTextFieldCodigoCliente) {
	JB_JTextFieldCodigoCliente = jB_JTextFieldCodigoCliente;
}

public String getJB_jTextField_ObservaçoesCliente() {
	String GF_jTextField_ObservaçoesCliente = cadCliGrf.getJTextField_ObservaçoesCliente().getText();
	this.JB_jTextField_ObservaçoesCliente = GF_jTextField_ObservaçoesCliente;
	return JB_jTextField_ObservaçoesCliente;
}

public void setJB_jTextField_ObservaçoesCliente(
		String jB_jTextField_ObservaçoesCliente) {
	JB_jTextField_ObservaçoesCliente = jB_jTextField_ObservaçoesCliente;
}

public String getJB_jTF_Pesquisa() {
	String GF_jTF_Pesquisa = cadCliGrf.getJTF_Pesquisa().getText();
	this.JB_jTF_Pesquisa = GF_jTF_Pesquisa;
	return JB_jTF_Pesquisa;
}

public void setJB_jTF_Pesquisa(String jB_jTF_Pesquisa) {
	JB_jTF_Pesquisa = jB_jTF_Pesquisa;
}

public String getJB_jComboBoxUFcliente() {
	String GF_jComboBoxUFcliente = (String) cadCliGrf.getJComboBoxUFcliente().getSelectedItem();
	this.JB_jComboBoxUFcliente = GF_jComboBoxUFcliente;
	return JB_jComboBoxUFcliente;
}

public void setJB_jComboBoxUFcliente(String jB_jComboBoxUFcliente) {
	JB_jComboBoxUFcliente = jB_jComboBoxUFcliente;
}

public String getJB_jCB_PessoaCliente() {
	String GF_jCB_PessoaCliente = (String) cadCliGrf.getJCB_PessoaCliente().getSelectedItem();
	this.JB_jCB_PessoaCliente = GF_jCB_PessoaCliente;
	return JB_jCB_PessoaCliente;
}

public void setJB_jCB_PessoaCliente(String jB_jCB_PessoaCliente) {
	JB_jCB_PessoaCliente = jB_jCB_PessoaCliente;
}

public String getJB_jCB_TipoCliente() {
	String GF_jCB_TipoCliente = (String) cadCliGrf.getJCB_TipoCliente().getSelectedItem();
	this.JB_jCB_TipoCliente = GF_jCB_TipoCliente;
	return JB_jCB_TipoCliente;
}

public void setJB_jCB_TipoCliente(String jB_jCB_TipoCliente) {
	JB_jCB_TipoCliente = jB_jCB_TipoCliente;
}

public String getJB_jCB_SexoCli() {
	String GF_jCB_SexoCli = (String) cadCliGrf.getJCB_SexoCli().getSelectedItem();
	this.JB_jCB_SexoCli = GF_jCB_SexoCli;
	return JB_jCB_SexoCli;
}

public void setJB_jCB_SexoCli(String jB_jCB_SexoCli) {
	JB_jCB_SexoCli = jB_jCB_SexoCli;
}

public String getJB_jCB_OpAlterarCli() {
	String GF_jCB_OpAlterarCl = (String) cadCliGrf.getJCB_OpAlterarCli().getSelectedItem();
	this.JB_jCB_OpAlterarCli = GF_jCB_OpAlterarCl;
	return JB_jCB_OpAlterarCli;
}

public void setJB_jCB_OpAlterarCli(String jB_jCB_OpAlterarCli) {
	JB_jCB_OpAlterarCli = jB_jCB_OpAlterarCli;
}

public void setJB_jTableCliCadastrados(String jB_jTableCliCadastrados) {
	JB_jTableCliCadastrados = jB_jTableCliCadastrados;
}

public String getJB_jTableCliCadastrados() {
	return JB_jTableCliCadastrados;
}

}[/code]