Erro na formatacao de data[RESOLVIDO]

ola gente estou tentando formatar a data para gravar no banco porem esta dando erro…alguem poderia me ajuda o codigo abaixo é este?

[code]import java.awt.event.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.swing.*;
import javax.swing.text.MaskFormatter;

import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
import Modelo.Cliente;

// Ctrl+Shift+F => Formata o código
// Ctrl+A e Ctrl+i => Formata a seleção

public class JanelaCliente extends JFrame {
private JLabel rotulo1, rotulo2, rotulo3, rotulo4, rotulo5, rotulo6,
rotulo7, rotulo8, rotulo9, rotulo10, rotulo11, rotulo12, rotulo13,
rotulo14, rotulo15;
private JTextField caixa1, caixa3, caixa4, caixa5, caixa6, caixa7,
caixa8, caixa9, caixa10, caixa11, caixa12, caixa13, caixa14
;
JFormattedTextField caixa2,caixa15;
private JButton botao1, botao2, botao3, botao4, botao5, botao6;

private static EntityManagerFactory fabricaDeEntidades = null;

private static EntityManager gerenciador = null;
ImageIcon icone;
ImageIcon icone1;
ImageIcon icone2;
ImageIcon icone3;
ImageIcon icone4;
ImageIcon icone5;
public JanelaCliente(EntityManagerFactory fabricaDeEntidades2,
		EntityManager gerenciador2) throws Exception {
	
	super("Cliente");
	Container tela = getContentPane();
	icone = new ImageIcon("001.gif");
	icone1 = new ImageIcon("005.gif");
	icone2 = new ImageIcon("126.gif");
	icone3 = new ImageIcon("041.gif");
	icone4 = new ImageIcon("100.gif");
	icone5 = new ImageIcon("004.gif");
	botao1 = new JButton (icone);
	botao2 = new JButton (icone1);
	botao3 = new JButton (icone2);
	botao4 = new JButton (icone3);
	botao5 = new JButton (icone4);
	botao6 = new JButton (icone5);

	tela.setLayout(null);
	fabricaDeEntidades = fabricaDeEntidades2;
	gerenciador = gerenciador2;

	rotulo1 = new JLabel("Codigo:");
	rotulo2 = new JLabel("Data:");
	rotulo3 = new JLabel("Nome:");
	rotulo5 = new JLabel("Endereço:");
	rotulo6 = new JLabel("Cpf:");
	rotulo7 = new JLabel("Bairro:");
	rotulo8 = new JLabel("Cidade:");
	rotulo9 = new JLabel("Uf:");
	rotulo10 = new JLabel("Cep:");
	rotulo11 = new JLabel("Telefone:");
	rotulo12 = new JLabel("Complemento:");
	rotulo13 = new JLabel("Email:");
	rotulo14 = new JLabel("Rg:");
	rotulo15 = new JLabel("Dta de Nascimento:");

	MaskFormatter formater = new MaskFormatter(); 
	formater.setMask("##/##/####");
	
	MaskFormatter formater2 = new MaskFormatter(); 
	formater2.setMask("##/##/####");
	
	caixa1 = new JTextField();
	caixa2 = new JFormattedTextField();
	formater.install(caixa2);
	caixa3 = new JTextField();
	caixa5 = new JTextField();
	caixa6 = new JTextField();
	caixa7 = new JTextField();
	caixa8 = new JTextField();
	caixa9 = new JTextField();
	caixa10 = new JTextField();
	caixa11 = new JTextField();
	caixa12 = new JTextField();
	caixa13 = new JTextField();
	caixa14 = new JTextField();
	caixa15 = new JFormattedTextField();
	formater2.install(caixa15);

	//botao1 = new JButton("Incluir");
	//botao2 = new JButton("Alterar");
	//botao3 = new JButton("Excluir");
	//botao4 = new JButton("Listar Clientes");
	//botao5 = new JButton("Gerar Relatório");
	//botao6 = new JButton("Fechar");

	// coluna, linha, largura, altura
	rotulo1.setBounds(21, 11, 43, 20);
	caixa1.setBounds(110, 11, 50, 20);

	botao1.setBounds(20, 279, 100, 20);
	botao2.setBounds(130, 279, 100, 20);
	botao3.setBounds(240, 279, 100, 20);
	botao4.setBounds(350, 279, 150, 20);
	botao5.setBounds(510, 279, 150, 20);
	botao6.setBounds(510, 310, 150, 20);

	rotulo2.setBounds(170, 11, 100, 20);
	caixa2.setBounds(220, 11, 90, 20);

	rotulo3.setBounds(21, 42, 100, 20);
	caixa3.setBounds(110, 42, 550, 20);


	rotulo5.setBounds(21, 73, 100, 20);
	caixa5.setBounds(110, 73, 300, 20);

	rotulo6.setBounds(21, 104, 100, 20);
	caixa6.setBounds(110, 104, 150, 20);

	rotulo7.setBounds(270, 104, 100, 20);
	caixa7.setBounds(330, 104, 330, 20);

	rotulo8.setBounds(21, 135, 100, 20);
	caixa8.setBounds(110, 135, 236, 20);

	rotulo9.setBounds(358, 135, 32, 20);
	caixa9.setBounds(400, 135, 50, 20);

	rotulo10.setBounds(466, 135, 43, 20);
	caixa10.setBounds(519, 135, 141, 20);

	rotulo11.setBounds(21, 166, 100, 20);
	caixa11.setBounds(110, 166, 141, 20);

	rotulo12.setBounds(261, 166, 100, 20);
	caixa12.setBounds(352, 166, 308, 20);

	rotulo13.setBounds(21, 197, 100, 20);
	caixa13.setBounds(110, 197, 280, 20);

	rotulo14.setBounds(415, 197, 100, 20);
	caixa14.setBounds(460, 197, 200, 20);

	rotulo15.setBounds(415, 73, 120, 20);
	caixa15.setBounds(530, 73, 90, 20);

	tela.add(rotulo1);
	tela.add(caixa1);

	tela.add(rotulo2);
	tela.add(caixa2);

	tela.add(botao1);
	tela.add(botao2);
	tela.add(botao3);
	tela.add(botao4);
	tela.add(botao5);
	tela.add(botao6);

	tela.add(rotulo3);
	tela.add(caixa3);

	tela.add(rotulo5);
	tela.add(caixa5);

	tela.add(rotulo6);
	tela.add(caixa6);

	tela.add(rotulo7);
	tela.add(caixa7);

	tela.add(rotulo8);
	tela.add(caixa8);

	tela.add(rotulo9);
	tela.add(caixa9);

	tela.add(rotulo10);
	tela.add(caixa10);

	tela.add(rotulo11);
	tela.add(caixa11);

	tela.add(rotulo12);
	tela.add(caixa12);

	tela.add(rotulo13);
	tela.add(caixa13);

	tela.add(rotulo14);
	tela.add(caixa14);

	tela.add(rotulo15);
	tela.add(caixa15);

// Calcula a diferença em milisegundos entre as duas datas
// long dif = hoje.getTime() - base.getTime();

// divide a diferença pelo numero de milisegundos de 1 dia, que seria 86400000
// long dias = dif/(1000L606024);
// long horas = dif/(1000L
6060);
// long minutos = dif/(1000L
60);

// System.out.println("Data Atual: " + hoje);
// System.out.println("Data FORMATADA: " + formatador.format(base));
// System.out.println("Dif. em Dias: " + dias);
// System.out.println("Dif. em Horas: " + horas);
// System.out.println("Dif. em Minutos: " + minutos);

	caixa1.addFocusListener(new FocusListener() {

		public void focusGained(FocusEvent e) {
			// TODO Auto-generated method stub

		}

		// Ao perder o foco do caixa1 é executado este método
		public void focusLost(FocusEvent e) {
			// TODO Auto-generated method stub

			if (!caixa1.getText().trim().equals("")) {
				// Se o campo conter um valor diferente de vazio

				Cliente objetoCliente = gerenciador.find(Cliente.class,Integer.parseInt(caixa1.getText()));

				if (objetoCliente != null) {
					caixa2.setText(objetoCliente.getData().toString());
					caixa3.setText("" + objetoCliente.getNomeCompleto());
					caixa5.setText("" + objetoCliente.getEndereco());
					caixa6.setText("" + objetoCliente.getCpf());
					caixa7.setText("" + objetoCliente.getBairro());
					caixa8.setText("" + objetoCliente.getCidade());
					caixa9.setText("" + objetoCliente.getUf());
					caixa10.setText("" + objetoCliente.getCep());
					caixa11.setText("" + objetoCliente.getTelefone());
					caixa12.setText("" + objetoCliente.getComplemento());
					caixa13.setText("" + objetoCliente.getEmail());
					caixa14.setText("" + objetoCliente.getRg());
					caixa15.setText(""
							+ objetoCliente.getDatadenascimento());
					botao1.setEnabled(false);
					JOptionPane.showMessageDialog(null,
							"Cliente já cadastrado com este código!!!");

				} else {
					botao1.setEnabled(true);
					caixa2.setText("");
					caixa3.setText("");
					caixa5.setText("");
					caixa6.setText("");
					caixa7.setText("");
					caixa8.setText("");
					caixa9.setText("");
					caixa10.setText("");
					caixa11.setText("");
					caixa12.setText("");
					caixa13.setText("");
					caixa14.setText("");
					caixa15.setText("");
					JOptionPane.showMessageDialog(null,
							"Código livre para cadastro!");
				}
			}
		}

	});
	caixa2.addFocusListener(new FocusListener() {

		public void focusGained(FocusEvent e) {
			caixa2.setText("");
		}

		public void focusLost(FocusEvent e) {
			// TODO Auto-generated method stub
		}
	});
	caixa15.addFocusListener(new FocusListener() {

		public void focusGained(FocusEvent e) {
			caixa15.setText("");
		}

		public void focusLost(FocusEvent e) {
			// TODO Auto-generated method stub
		}
	});

	botao1.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			// Persistir dados
			// inclusão de um novo registro
			if (caixa1.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o código do cliente!");
				caixa1.requestFocus();
			} else if (caixa2.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null, "Informe a Data!");
				caixa2.requestFocus();
			} else if (caixa3.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Nome Completo do Cliente!");
				caixa3.requestFocus();

			} else if (caixa5.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Endereço do Cliente!");
				caixa5.requestFocus();

			} else if (caixa6.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Cpf do Cliente!");
				caixa6.requestFocus();

			} else if (caixa7.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Bairro do Cliente!");
				caixa7.requestFocus();

			} else if (caixa8.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe a Cidade do Cliente!");
				caixa8.requestFocus();

			} else if (caixa9.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe a Uf do Cliente!");
				caixa9.requestFocus();

			} else if (caixa10.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Cep do Cliente!");
				caixa10.requestFocus();

			} else if (caixa11.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Telefone do Cliente!");
				caixa11.requestFocus();

			} else if (caixa12.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Complemento!");
				caixa12.requestFocus();

			} else if (caixa13.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Email do Cliente!");
				caixa13.requestFocus();

			} else if (caixa14.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Rg do Cliente!");
				caixa14.requestFocus();

			} else if (caixa15.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe a Data de Nascimento do Cliente!");
				caixa15.requestFocus();

			} else {

				//SimpleDateFormat dataf = new SimpleDateFormat("yyyy-MM-dd");
				SimpleDateFormat formatador = new SimpleDateFormat("yyyy-MM-dd");
				SimpleDateFormat formatador2 = new SimpleDateFormat("yyyy-MM-dd");

// Transforma uma String em um Date
Date data1 = formatador.parse(caixa2.getText());
Date data2= formatador2.parse(caixa15.getText());

               System.out.println("minhadata "+data2);
				Cliente objetoCliente = new Cliente();

objetoCliente.setCodcliente(Integer.parseInt(caixa1.getText()));
objetoCliente.setData(data1);
objetoCliente.setNomeCompleto(caixa3.getText());
objetoCliente.setEndereco(caixa5.getText());
objetoCliente.setCpf(Double.parseDouble(caixa6.getText()));
objetoCliente.setBairro(caixa7.getText());
objetoCliente.setCidade(caixa8.getText());
objetoCliente.setUf(caixa9.getText());
objetoCliente.setCep(Integer.parseInt(caixa10.getText()));
objetoCliente.setTelefone(Integer.parseInt(caixa11.getText()));
objetoCliente.setComplemento(caixa12.getText());
objetoCliente.setEmail(caixa13.getText());
objetoCliente.setRg(Double.parseDouble(caixa14.getText()));
objetoCliente.setDatadenascimento(data2);

				gerenciador.getTransaction().begin();
				gerenciador.persist(objetoCliente);
				gerenciador.getTransaction().commit();
				JOptionPane.showMessageDialog(null,
						"Cliente Incluído com Sucesso!");
				caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);
		        caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);
		        caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);
			}
		}
	});

	botao2.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			// fecha a janela
			Cliente c = new Cliente();
			c.setCodcliente(Integer.parseInt(caixa1.getText()));
			c.setData((Date)caixa2.getValue());
			c.setNomeCompleto(caixa3.getText());
			c.setEndereco(caixa5.getText());
			c.setCpf(Double.parseDouble(caixa6.getText()));
			c.setBairro(caixa7.getText());
			c.setCidade(caixa8.getText());
			c.setUf(caixa9.getText());
			c.setCep(Integer.parseInt(caixa10.getText()));
			c.setTelefone(Integer.parseInt(caixa11.getText()));
			c.setComplemento(caixa12.getText());
			c.setEmail(caixa13.getText());
			c.setRg(Double.parseDouble(caixa14.getText()));
			c.setDatadenascimento((Date)caixa15.getValue());

			gerenciador.getTransaction().begin();
			gerenciador.merge(c);
			gerenciador.getTransaction().commit();

			JOptionPane.showMessageDialog(null,
					"Registro Alterado Com Sucesso");
			caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);
	        caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);
	        caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);
		}
	});

	botao3.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			// cria nova janela
			Cliente c = gerenciador.find(Cliente.class, Integer.parseInt(caixa1.getText()));

			gerenciador.getTransaction().begin();
			gerenciador.remove(c);
			gerenciador.getTransaction().commit();

			JOptionPane.showMessageDialog(null,
					"Registro Excluido Com Sucesso");

			caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);
	        caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);
	        caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);
		}
	});

	botao4.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			// cria nova janela

			@SuppressWarnings("unused")
			//ListarCliente l = new ListarCliente(fabricaDeEntidades,gerenciador);
			ListarCliente list = new ListarCliente(fabricaDeEntidades, gerenciador);
		}
	});
	botao5.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			// cria nova janela
			RelatorioCliente rep = new RelatorioCliente();
			JasperPrint relat;
			try {
				relat = rep.gerarRelatorioCliente();
				JasperViewer.viewReport(relat, false);
			} catch (Exception e1) {
				e1.printStackTrace();
			}
		}
	});

	botao6.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			// cria nova janela
			dispose();
		}
	});
	// setSize(largura, altura);
	setSize(700, 397);
	setVisible(true);
	setLocationRelativeTo(null);
}

public static void main(String[] args) throws Exception {

fabricaDeEntidades = Persistence
		.createEntityManagerFactory("TurmaN40PostgreSQL");

gerenciador = fabricaDeEntidades.createEntityManager();

	JanelaCliente app = new JanelaCliente(fabricaDeEntidades, gerenciador);
	app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}[/code]

Date data1 = formatador.parse(caixa2.getText()); Date data2= formatador2.parse(caixa15.getText());

o erro esta nessa linha o programa nao esta gravando a data no banco se alguem puder ajudar nisso obrigado.

Gente mudei meu codigo pra esse abaixo agora ve se vcs conseguem me ajudar…eu estou tentando gravar a data no banco de dados PostgreeSql

obrigada.

[code]import java.awt.event.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.swing.*;
import javax.swing.text.MaskFormatter;

import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
import Modelo.Cliente;

// Ctrl+Shift+F => Formata o código
// Ctrl+A e Ctrl+i => Formata a seleção

public class JanelaCliente extends JFrame {
private JLabel rotulo1, rotulo2, rotulo3, rotulo4, rotulo5, rotulo6,
rotulo7, rotulo8, rotulo9, rotulo10, rotulo11, rotulo12, rotulo13,
rotulo14, rotulo15;
private JTextField caixa1, caixa3, caixa4, caixa5, caixa6, caixa7,
caixa8, caixa9, caixa10, caixa11, caixa12, caixa13, caixa14
;
JFormattedTextField caixa2,caixa15;
private JButton botao1, botao2, botao3, botao4, botao5, botao6;

private static EntityManagerFactory fabricaDeEntidades = null;

private static EntityManager gerenciador = null;
ImageIcon icone;
ImageIcon icone1;
ImageIcon icone2;
ImageIcon icone3;
ImageIcon icone4;
ImageIcon icone5;
public JanelaCliente(EntityManagerFactory fabricaDeEntidades2,
		EntityManager gerenciador2) throws Exception {
	
	super("Cliente");
	Container tela = getContentPane();
	icone = new ImageIcon("001.gif");
	icone1 = new ImageIcon("005.gif");
	icone2 = new ImageIcon("126.gif");
	icone3 = new ImageIcon("041.gif");
	icone4 = new ImageIcon("100.gif");
	icone5 = new ImageIcon("004.gif");
	botao1 = new JButton (icone);
	botao2 = new JButton (icone1);
	botao3 = new JButton (icone2);
	botao4 = new JButton (icone3);
	botao5 = new JButton (icone4);
	botao6 = new JButton (icone5);

	tela.setLayout(null);
	fabricaDeEntidades = fabricaDeEntidades2;
	gerenciador = gerenciador2;

	rotulo1 = new JLabel("Codigo:");
	rotulo2 = new JLabel("Data:");
	rotulo3 = new JLabel("Nome:");
	rotulo5 = new JLabel("Endereço:");
	rotulo6 = new JLabel("Cpf:");
	rotulo7 = new JLabel("Bairro:");
	rotulo8 = new JLabel("Cidade:");
	rotulo9 = new JLabel("Uf:");
	rotulo10 = new JLabel("Cep:");
	rotulo11 = new JLabel("Telefone:");
	rotulo12 = new JLabel("Complemento:");
	rotulo13 = new JLabel("Email:");
	rotulo14 = new JLabel("Rg:");
	rotulo15 = new JLabel("Dta de Nascimento:");

	MaskFormatter formater = new MaskFormatter(); 
	formater.setMask("##/##/####");
	
	MaskFormatter formater2 = new MaskFormatter(); 
	formater2.setMask("##/##/####");
	
	caixa1 = new JTextField();
	caixa2 = new JFormattedTextField();
	formater.install(caixa2);
	caixa3 = new JTextField();
	caixa5 = new JTextField();
	caixa6 = new JTextField();
	caixa7 = new JTextField();
	caixa8 = new JTextField();
	caixa9 = new JTextField();
	caixa10 = new JTextField();
	caixa11 = new JTextField();
	caixa12 = new JTextField();
	caixa13 = new JTextField();
	caixa14 = new JTextField();
	caixa15 = new JFormattedTextField();
	formater2.install(caixa15);

	//botao1 = new JButton("Incluir");
	//botao2 = new JButton("Alterar");
	//botao3 = new JButton("Excluir");
	//botao4 = new JButton("Listar Clientes");
	//botao5 = new JButton("Gerar Relatório");
	//botao6 = new JButton("Fechar");

	// coluna, linha, largura, altura
	rotulo1.setBounds(21, 11, 43, 20);
	caixa1.setBounds(110, 11, 50, 20);

	botao1.setBounds(20, 279, 100, 20);
	botao2.setBounds(130, 279, 100, 20);
	botao3.setBounds(240, 279, 100, 20);
	botao4.setBounds(350, 279, 150, 20);
	botao5.setBounds(510, 279, 150, 20);
	botao6.setBounds(510, 310, 150, 20);

	rotulo2.setBounds(170, 11, 100, 20);
	caixa2.setBounds(220, 11, 90, 20);

	rotulo3.setBounds(21, 42, 100, 20);
	caixa3.setBounds(110, 42, 550, 20);


	rotulo5.setBounds(21, 73, 100, 20);
	caixa5.setBounds(110, 73, 300, 20);

	rotulo6.setBounds(21, 104, 100, 20);
	caixa6.setBounds(110, 104, 150, 20);

	rotulo7.setBounds(270, 104, 100, 20);
	caixa7.setBounds(330, 104, 330, 20);

	rotulo8.setBounds(21, 135, 100, 20);
	caixa8.setBounds(110, 135, 236, 20);

	rotulo9.setBounds(358, 135, 32, 20);
	caixa9.setBounds(400, 135, 50, 20);

	rotulo10.setBounds(466, 135, 43, 20);
	caixa10.setBounds(519, 135, 141, 20);

	rotulo11.setBounds(21, 166, 100, 20);
	caixa11.setBounds(110, 166, 141, 20);

	rotulo12.setBounds(261, 166, 100, 20);
	caixa12.setBounds(352, 166, 308, 20);

	rotulo13.setBounds(21, 197, 100, 20);
	caixa13.setBounds(110, 197, 280, 20);

	rotulo14.setBounds(415, 197, 100, 20);
	caixa14.setBounds(460, 197, 200, 20);

	rotulo15.setBounds(415, 73, 120, 20);
	caixa15.setBounds(530, 73, 90, 20);

	tela.add(rotulo1);
	tela.add(caixa1);

	tela.add(rotulo2);
	tela.add(caixa2);

	tela.add(botao1);
	tela.add(botao2);
	tela.add(botao3);
	tela.add(botao4);
	tela.add(botao5);
	tela.add(botao6);

	tela.add(rotulo3);
	tela.add(caixa3);

	tela.add(rotulo5);
	tela.add(caixa5);

	tela.add(rotulo6);
	tela.add(caixa6);

	tela.add(rotulo7);
	tela.add(caixa7);

	tela.add(rotulo8);
	tela.add(caixa8);

	tela.add(rotulo9);
	tela.add(caixa9);

	tela.add(rotulo10);
	tela.add(caixa10);

	tela.add(rotulo11);
	tela.add(caixa11);

	tela.add(rotulo12);
	tela.add(caixa12);

	tela.add(rotulo13);
	tela.add(caixa13);

	tela.add(rotulo14);
	tela.add(caixa14);

	tela.add(rotulo15);
	tela.add(caixa15);

// Calcula a diferença em milisegundos entre as duas datas
// long dif = hoje.getTime() - base.getTime();

// divide a diferença pelo numero de milisegundos de 1 dia, que seria 86400000
// long dias = dif/(1000L606024);
// long horas = dif/(1000L
6060);
// long minutos = dif/(1000L
60);

// System.out.println("Data Atual: " + hoje);
// System.out.println("Data FORMATADA: " + formatador.format(base));
// System.out.println("Dif. em Dias: " + dias);
// System.out.println("Dif. em Horas: " + horas);
// System.out.println("Dif. em Minutos: " + minutos);

	caixa1.addFocusListener(new FocusListener() {

		public void focusGained(FocusEvent e) {
			// TODO Auto-generated method stub

		}

		// Ao perder o foco do caixa1 é executado este método
		public void focusLost(FocusEvent e) {
			// TODO Auto-generated method stub

			if (!caixa1.getText().trim().equals("")) {
				// Se o campo conter um valor diferente de vazio

				Cliente objetoCliente = gerenciador.find(Cliente.class,Integer.parseInt(caixa1.getText()));

				if (objetoCliente != null) {
					caixa2.setText(objetoCliente.getData().toString());
					caixa3.setText("" + objetoCliente.getNomeCompleto());
					caixa5.setText("" + objetoCliente.getEndereco());
					caixa6.setText("" + objetoCliente.getCpf());
					caixa7.setText("" + objetoCliente.getBairro());
					caixa8.setText("" + objetoCliente.getCidade());
					caixa9.setText("" + objetoCliente.getUf());
					caixa10.setText("" + objetoCliente.getCep());
					caixa11.setText("" + objetoCliente.getTelefone());
					caixa12.setText("" + objetoCliente.getComplemento());
					caixa13.setText("" + objetoCliente.getEmail());
					caixa14.setText("" + objetoCliente.getRg());
					caixa15.setText(""
							+ objetoCliente.getDatadenascimento());
					botao1.setEnabled(false);
					JOptionPane.showMessageDialog(null,
							"Cliente já cadastrado com este código!!!");

				} else {
					botao1.setEnabled(true);
					caixa2.setText("");
					caixa3.setText("");
					caixa5.setText("");
					caixa6.setText("");
					caixa7.setText("");
					caixa8.setText("");
					caixa9.setText("");
					caixa10.setText("");
					caixa11.setText("");
					caixa12.setText("");
					caixa13.setText("");
					caixa14.setText("");
					caixa15.setText("");
					JOptionPane.showMessageDialog(null,
							"Código livre para cadastro!");
				}
			}
		}

	});
	caixa2.addFocusListener(new FocusListener() {

		public void focusGained(FocusEvent e) {
			caixa2.setText("");
		}

		public void focusLost(FocusEvent e) {
			// TODO Auto-generated method stub
		}
	});
	caixa15.addFocusListener(new FocusListener() {

		public void focusGained(FocusEvent e) {
			caixa15.setText("");
		}

		public void focusLost(FocusEvent e) {
			// TODO Auto-generated method stub
		}
	});

	botao1.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e1) {
			// Persistir dados
			// inclusão de um novo registro
			if (caixa1.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o código do cliente!");
				caixa1.requestFocus();
			} else if (caixa2.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null, "Informe a Data!");
				caixa2.requestFocus();
			} else if (caixa3.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Nome Completo do Cliente!");
				caixa3.requestFocus();

			} else if (caixa5.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Endereço do Cliente!");
				caixa5.requestFocus();

			} else if (caixa6.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Cpf do Cliente!");
				caixa6.requestFocus();

			} else if (caixa7.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Bairro do Cliente!");
				caixa7.requestFocus();

			} else if (caixa8.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe a Cidade do Cliente!");
				caixa8.requestFocus();

			} else if (caixa9.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe a Uf do Cliente!");
				caixa9.requestFocus();

			} else if (caixa10.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Cep do Cliente!");
				caixa10.requestFocus();

			} else if (caixa11.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Telefone do Cliente!");
				caixa11.requestFocus();

			} else if (caixa12.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Complemento!");
				caixa12.requestFocus();

			} else if (caixa13.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Email do Cliente!");
				caixa13.requestFocus();

			} else if (caixa14.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe o Rg do Cliente!");
				caixa14.requestFocus();

			} else if (caixa15.getText().trim().equals("")) {
				JOptionPane.showMessageDialog(null,
						"Informe a Data de Nascimento do Cliente!");
				caixa15.requestFocus();

			} else {

				//SimpleDateFormat dataf = new SimpleDateFormat("yyyy-MM-dd");
				SimpleDateFormat formatador = new SimpleDateFormat("yyyy-MM-dd");
				SimpleDateFormat formatador2 = new SimpleDateFormat("yyyy-MM-dd");

// Transforma uma String em um Date
//Date data1 = formatador.parse(caixa2.getText());
java.sql.Date dataSql = null;
java.sql.Date dataSql2 = null;
try {
Date data1 = formatador.parse(caixa2.getText());
Date data2 = formatador2.parse(caixa15.getText());
data1 = new java.sql.Date(data1.getTime());
data2 = new java.sql.Date(data2.getTime());
dataSql = (java.sql.Date) data1;
dataSql2 = (java.sql.Date) data2;
} catch (ParseException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
JOptionPane.showMessageDialog(null, "Erro ao converte data para sql: " + ((Throwable) e2).getMessage());
} return;

		    // Date data2= formatador2.parse(caixa15.getText());
				
              //  System.out.println("minhadata "+data2);
				Cliente objetoCliente = new Cliente();
                objetoCliente.setCodcliente(Integer.parseInt(caixa1.getText()));
				objetoCliente.setData(dataSql);
				objetoCliente.setNomeCompleto(caixa3.getText());
				objetoCliente.setEndereco(caixa5.getText());
				objetoCliente.setCpf(Double.parseDouble(caixa6.getText()));
				objetoCliente.setBairro(caixa7.getText());
				objetoCliente.setCidade(caixa8.getText());
				objetoCliente.setUf(caixa9.getText());
				objetoCliente.setCep(Integer.parseInt(caixa10.getText()));
				objetoCliente.setTelefone(Integer.parseInt(caixa11.getText()));
				objetoCliente.setComplemento(caixa12.getText());
				objetoCliente.setEmail(caixa13.getText());
				objetoCliente.setRg(Double.parseDouble(caixa14.getText()));
				objetoCliente.setDatadenascimento(dataSql2);

				gerenciador.getTransaction().begin();
				gerenciador.persist(objetoCliente);
				gerenciador.getTransaction().commit();
				JOptionPane.showMessageDialog(null,
						"Cliente Incluído com Sucesso!");
				caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);
		        caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);
		        caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);
			}	
		}
	});

	botao2.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			// fecha a janela
			Cliente c = new Cliente();
			c.setCodcliente(Integer.parseInt(caixa1.getText()));
			c.setData((Date)caixa2.getValue());
			c.setNomeCompleto(caixa3.getText());
			c.setEndereco(caixa5.getText());
			c.setCpf(Double.parseDouble(caixa6.getText()));
			c.setBairro(caixa7.getText());
			c.setCidade(caixa8.getText());
			c.setUf(caixa9.getText());
			c.setCep(Integer.parseInt(caixa10.getText()));
			c.setTelefone(Integer.parseInt(caixa11.getText()));
			c.setComplemento(caixa12.getText());
			c.setEmail(caixa13.getText());
			c.setRg(Double.parseDouble(caixa14.getText()));
			c.setDatadenascimento((Date)caixa15.getValue());

			gerenciador.getTransaction().begin();
			gerenciador.merge(c);
			gerenciador.getTransaction().commit();

			JOptionPane.showMessageDialog(null,
					"Registro Alterado Com Sucesso");
			caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);
	        caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);
	        caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);
		}
	});

	botao3.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			// cria nova janela
			Cliente c = gerenciador.find(Cliente.class, Integer.parseInt(caixa1.getText()));

			gerenciador.getTransaction().begin();
			gerenciador.remove(c);
			gerenciador.getTransaction().commit();

			JOptionPane.showMessageDialog(null,
					"Registro Excluido Com Sucesso");

			caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);
	        caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);
	        caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);
		}
	});

	botao4.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			// cria nova janela

			@SuppressWarnings("unused")
			//ListarCliente l = new ListarCliente(fabricaDeEntidades,gerenciador);
			ListarCliente list = new ListarCliente(fabricaDeEntidades, gerenciador);
		}
	});
	botao5.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			// cria nova janela
			RelatorioCliente rep = new RelatorioCliente();
			JasperPrint relat;
			try {
				relat = rep.gerarRelatorioCliente();
				JasperViewer.viewReport(relat, false);
			} catch (Exception e1) {
				e1.printStackTrace();
			}
		}
	});

	botao6.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			// cria nova janela
			dispose();
		}
	});
	// setSize(largura, altura);
	setSize(700, 397);
	setVisible(true);
	setLocationRelativeTo(null);
}

public static void main(String[] args) throws Exception {

fabricaDeEntidades = Persistence
		.createEntityManagerFactory("TurmaN40PostgreSQL");

gerenciador = fabricaDeEntidades.createEntityManager();

	JanelaCliente app = new JanelaCliente(fabricaDeEntidades, gerenciador);
	app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}
[/code]

o erro agora esta nesta linha mais nao era pra ter esse erro

Cliente objetoCliente = new Cliente();

eu consegui arruma o erro acima porem ainda esta dando este erro

java.text.ParseException: Unparseable date: "20/06/2007"
at java.text.DateFormat.parse(Unknown Source)
at JanelaCliente$4.actionPerformed(JanelaCliente.java:382)
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.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(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)

[quote]SimpleDateFormat formatador = new SimpleDateFormat("yyyy-MM-dd");
java.text.ParseException: Unparseable date: “20/06/2007”
[/quote]

Talvez se informares a data no formato que tens definido no código isso funcione…

eu mudei o codigo no formato da data que estou enviando porem o botao nao faz nada
nao envia nao grava nao mostra erro nem nda…

[code]botao1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e1) {
// Persistir dados
// inclusão de um novo registro
if (caixa1.getText().trim().equals("")) {
JOptionPane.showMessageDialog(null,
“Informe o código do cliente!”);
caixa1.requestFocus();
} else if (caixa2.getText().trim().equals("")) {
JOptionPane.showMessageDialog(null, “Informe a Data!”);
caixa2.requestFocus();
} else if (caixa3.getText().trim().equals("")) {
JOptionPane.showMessageDialog(null,
“Informe o Nome Completo do Cliente!”);
caixa3.requestFocus();

                } else if (caixa5.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Endereço do Cliente!");  
                    caixa5.requestFocus();  
  
                } else if (caixa6.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Cpf do Cliente!");  
                    caixa6.requestFocus();  
  
                } else if (caixa7.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Bairro do Cliente!");  
                    caixa7.requestFocus();  
  
                } else if (caixa8.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe a Cidade do Cliente!");  
                    caixa8.requestFocus();  
  
                } else if (caixa9.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe a Uf do Cliente!");  
                    caixa9.requestFocus();  
  
                } else if (caixa10.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Cep do Cliente!");  
                    caixa10.requestFocus();  
  
                } else if (caixa11.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Telefone do Cliente!");  
                    caixa11.requestFocus();  
  
                } else if (caixa12.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Complemento!");  
                    caixa12.requestFocus();  
  
                } else if (caixa13.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Email do Cliente!");  
                    caixa13.requestFocus();  
  
                } else if (caixa14.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Rg do Cliente!");  
                    caixa14.requestFocus();  
  
                } else if (caixa15.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe a Data de Nascimento do Cliente!");  
                    caixa15.requestFocus();  
  
                } else {  
  
                    //SimpleDateFormat dataf = new SimpleDateFormat("yyyy-MM-dd");  
                    SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");  
                    SimpleDateFormat formatador2 = new SimpleDateFormat("dd/MM/yyyy");  
  
//                Transforma uma String em um Date  
                 //Date data1 = formatador.parse(caixa2.getText());  
                    java.sql.Date dataSql = null;   
                    java.sql.Date dataSql2 = null;   
                    try {  
                    Date data1 = formatador.parse(caixa2.getText());  
                    Date data2 = formatador2.parse(caixa15.getText());  
                        data1 = new java.sql.Date(data1.getTime());  
                        data2 = new java.sql.Date(data2.getTime());  
                        dataSql = (java.sql.Date) data1;  
                        dataSql2 = (java.sql.Date) data2;  
                    } catch (ParseException e2) {  
                        // TODO Auto-generated catch block  
                        e2.printStackTrace();  
                        JOptionPane.showMessageDialog(null, "Erro ao converte data para sql: " + ((Throwable) e2).getMessage());  
                    } return;   
                }
                // Date data2= formatador2.parse(caixa15.getText());  
                      
                  //  System.out.println("minhadata "+data2);  
                    Cliente objetoCliente = new Cliente();  
                    objetoCliente.setCodcliente(Integer.parseInt(caixa1.getText()));  
                    objetoCliente.setData((Date)caixa2.getValue());  
                    objetoCliente.setNomeCompleto(caixa3.getText());  
                    objetoCliente.setEndereco(caixa5.getText());  
                    objetoCliente.setCpf(Double.parseDouble(caixa6.getText()));  
                    objetoCliente.setBairro(caixa7.getText());  
                    objetoCliente.setCidade(caixa8.getText());  
                    objetoCliente.setUf(caixa9.getText());  
                    objetoCliente.setCep(Integer.parseInt(caixa10.getText()));  
                    objetoCliente.setTelefone(Integer.parseInt(caixa11.getText()));  
                    objetoCliente.setComplemento(caixa12.getText());  
                    objetoCliente.setEmail(caixa13.getText());  
                    objetoCliente.setRg(Double.parseDouble(caixa14.getText()));  
                    objetoCliente.setDatadenascimento((Date)caixa15.getValue());  
  
                    gerenciador.getTransaction().begin();  
                    gerenciador.persist(objetoCliente);  
                    gerenciador.getTransaction().commit();  
                    JOptionPane.showMessageDialog(null,  
                            "Cliente Incluído com Sucesso!");  
                    caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);  
                    caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);  
                    caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);  
                    
            }  
        });  [/code]

consegui grava no banco tirando o return porem a data ainda nao grava no banco.

codigo

[code]botao1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e1) {
// Persistir dados
// inclusão de um novo registro
if (caixa1.getText().trim().equals("")) {
JOptionPane.showMessageDialog(null,
“Informe o código do cliente!”);
caixa1.requestFocus();
} else if (caixa2.getText().trim().equals("")) {
JOptionPane.showMessageDialog(null, “Informe a Data!”);
caixa2.requestFocus();
} else if (caixa3.getText().trim().equals("")) {
JOptionPane.showMessageDialog(null,
“Informe o Nome Completo do Cliente!”);
caixa3.requestFocus();

                } else if (caixa5.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Endereço do Cliente!");    
                    caixa5.requestFocus();    
    
                } else if (caixa6.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Cpf do Cliente!");    
                    caixa6.requestFocus();    
    
                } else if (caixa7.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Bairro do Cliente!");    
                    caixa7.requestFocus();    
    
                } else if (caixa8.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe a Cidade do Cliente!");    
                    caixa8.requestFocus();    
    
                } else if (caixa9.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe a Uf do Cliente!");    
                    caixa9.requestFocus();    
    
                } else if (caixa10.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Cep do Cliente!");    
                    caixa10.requestFocus();    
    
                } else if (caixa11.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Telefone do Cliente!");    
                    caixa11.requestFocus();    
    
                } else if (caixa12.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Complemento!");    
                    caixa12.requestFocus();    
    
                } else if (caixa13.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Email do Cliente!");    
                    caixa13.requestFocus();    
    
                } else if (caixa14.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Rg do Cliente!");    
                    caixa14.requestFocus();    
    
                } else if (caixa15.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe a Data de Nascimento do Cliente!");    
                    caixa15.requestFocus();    
    
                } else {    
    
                    //SimpleDateFormat dataf = new SimpleDateFormat("yyyy-MM-dd");    
                    SimpleDateFormat formatador = new SimpleDateFormat("yyyy-MM-dd");    
                    SimpleDateFormat formatador2 = new SimpleDateFormat("yyyy-MM-dd");    
    
//                Transforma uma String em um Date    
                 //Date data1 = formatador.parse(caixa2.getText());    
                    java.sql.Date dataSql = null;     
                    java.sql.Date dataSql2 = null;     
                    try {    
                    Date data1 = formatador.parse(caixa2.getText());    
                    Date data2 = formatador2.parse(caixa15.getText());    
                        data1 = new java.sql.Date(data1.getTime());    
                        data2 = new java.sql.Date(data2.getTime());    
                        dataSql = (java.sql.Date) data1;    
                        dataSql2 = (java.sql.Date) data2; 
                        JOptionPane.showMessageDialog(null, "Data convertida com sucesso"); 
                    } catch (ParseException e2) {    
                        // TODO Auto-generated catch block    
                        e2.printStackTrace();    
                        JOptionPane.showMessageDialog(null, "Erro ao converte data para sql: " + ((Throwable) e2).getMessage());    
                    }     
                }  
                // Date data2= formatador2.parse(caixa15.getText());    
                        
                  //  System.out.println("minhadata "+data2);    
                    Cliente objetoCliente = new Cliente();    
                    objetoCliente.setCodcliente(Integer.parseInt(caixa1.getText()));    
                    objetoCliente.setData((Date)caixa2.getValue());    
                    objetoCliente.setNomeCompleto(caixa3.getText());    
                    objetoCliente.setEndereco(caixa5.getText());    
                    objetoCliente.setCpf(Double.parseDouble(caixa6.getText()));    
                    objetoCliente.setBairro(caixa7.getText());    
                    objetoCliente.setCidade(caixa8.getText());    
                    objetoCliente.setUf(caixa9.getText());    
                    objetoCliente.setCep(Integer.parseInt(caixa10.getText()));    
                    objetoCliente.setTelefone(Integer.parseInt(caixa11.getText()));    
                    objetoCliente.setComplemento(caixa12.getText());    
                    objetoCliente.setEmail(caixa13.getText());    
                    objetoCliente.setRg(Double.parseDouble(caixa14.getText()));    
                    objetoCliente.setDatadenascimento((Date)caixa15.getValue());    
    
                    gerenciador.getTransaction().begin();    
                    gerenciador.persist(objetoCliente);    
                    gerenciador.getTransaction().commit();    
                    JOptionPane.showMessageDialog(null,    
                            "Cliente Incluído com Sucesso!");    
                    caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);    
                    caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);    
                    caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);    
                      
            }    
        });    
  [/code]

Olá Daniferreira
primeiro veja o formato que o PostgreSQL Trabalha no armazenamento de datas creio que seja no formato (yyyy-MM-dd),
depois vc tem que transformar a data que está no formato Util para o formato Date
ai vc podera salvar, tenho uma classe que faz toda a formatação de datas para trabalhar com banco de dados
e formulario, o metodo e o formToDb ele e responsavel por converter a data no formato de util para Date.
está ai abaixo

package util;



import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class ManipulaData {
	
	//pega a data atual
	public String getDataAtual() {
		SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
		return formatter.format(new java.util.Date());
	}
	
	//converte uma string para date
	public java.util.Date stringToData(String dataStr) {
		SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
		java.util.Date dataUtil = null;
		try {
			dataUtil = df.parse(dataStr);
		} catch (ParseException ex) {
		}
		return dataUtil;
	}
	
	//converte data em String para Data em Long
	public Long StringToLong(String data) {
		String data_dia, data_mes, data_ano;

		data_dia = data.substring(0, 2);
		data_mes = data.substring(3, 5);
		data_ano = data.substring(6, 10);

		String formata = "";
		formata += data_dia + data_mes + data_ano;
		long data_format = Integer.parseInt(formata);
		return data_format;
	}
	
	//Converte Date Para String
	public String dataToString(java.util.Date data) {
		SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
		return formatter.format(data);
	}

	//Converte Util para Sql
	public java.sql.Date utilToSql(java.util.Date dataUtil) {
		java.sql.Date dataSQL = new java.sql.Date(dataUtil.getTime());
		return dataSQL;
	}

	//Converte Sql para Util
	public java.util.Date sqlToUtil(java.sql.Date dataSQL) {
		java.util.Date dataResgatada = new java.util.Date(dataSQL.getTime());
		return dataResgatada;
	}

	//Converte a data que está no DB para String que sera mostrada no form
	public String dbToForm(java.sql.Date dataSQL) {
		java.util.Date dataUtil = sqlToUtil(dataSQL);
		SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
		return formatter.format(dataUtil);
	}

	//converte a data que esta no form para ser gravada no DB
	public java.sql.Date formToDb(String data) {
		java.util.Date dataUtil = stringToData(data);
		java.sql.Date dataSQL = utilToSql(dataUtil);
		return dataSQL;
	}
	
	//calcula diferenças de dias entre uma data inicial e uma data final
		public Long calcularDatas_Dia(String data_inicio, String data_final) throws ParseException { 
		Long resultado;
        // Dando um exemplo: quantos dias se passam desde 07/09/1822 até 05/06/2006?  
		SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
        df.setLenient(false);  
        Date d1 = df.parse (data_inicio);  
 
        Date d2 = df.parse (data_final);  
       
        long dt = (d2.getTime() - d1.getTime()) + 3600000; // 1 hora para compensar horário de verão  
        resultado =  (dt / 86400000L); // passaram-se 67111 dias  
       return resultado;
	}  

	
	//calcula difereça de meses entre uma data inicial e uma data final
	public Double calcularDatas_Meses(String data_inicio, String data_final) throws ParseException { 
		 	SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
	        
	        Date dataInicio = df.parse(data_inicio);  
	        Date dataFim = df.parse(data_final);  	  
	        /* 
	         * valor de um mes em milisegundos, sendo que os valores sao: 
	         * 30 dias no mes, 24 horas no dia, 60 minutos por hora, 60 segundos por minuto e 1000 milisegundos   
	         */  
	        final double MES_EM_MILISEGUNDOS = 30.0 * 24.0 * 60.0 * 60.0 * 1000.0;  
	        //final double MES_EM_MILISEGUNDOS = 2592000000.0;  
	          
	        double numeroDeMeses = (double)((dataFim.getTime() - dataInicio.getTime())/MES_EM_MILISEGUNDOS);  
	
	        return numeroDeMeses;
	    }
	 //calcula difereça de anos entre uma data inicial e uma data final
	 public Integer calculaDatas_Anos(String data_inicio, String data_final) throws ParseException{
		 SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");  
         Date data1 = df.parse(data_inicio);  
         Date data2 = df.parse(data_final);  
         
         Calendar cal1 = Calendar.getInstance();  
         Calendar cal2 = Calendar.getInstance();  
         cal1.setTime(data1);  
         cal2.setTime(data2);  
         int year1 = cal1.get(Calendar.YEAR);  
         int year2 = cal2.get(Calendar.YEAR);  
         int month1 = cal1.get(Calendar.MONTH);  
         int month2 = cal2.get(Calendar.MONTH);  
         int day1 = cal1.get(Calendar.DAY_OF_MONTH);  
         int day2 = cal2.get(Calendar.DAY_OF_MONTH);  
         int anos = year2 - year1;  
         if ( (month2 < month1)   
              || ( (month2 == month1) && (day2 < day1) ) ) {  
             anos -= 1;  
         }  
         
         return anos;
	 }
}

mudei e coloquei algumas coisas da sua classe porem nada ainda se vc puder me ajudar com o codigo anterior seria uma grande ajuda porque aquele ja comecei…

[code] import java.awt.Container;
import java.awt.event.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.persistence.EntityManager;  
import javax.persistence.EntityManagerFactory;  
import javax.persistence.Persistence;  
import javax.swing.*;  
import javax.swing.text.MaskFormatter;  
  
import net.sf.jasperreports.engine.JasperPrint;  
import net.sf.jasperreports.view.JasperViewer;  
 import Modelo.Cliente;  

import Util.ManipulaData;

// Ctrl+Shift+F => Formata o código  
// Ctrl+A e Ctrl+i => Formata a seleção  
  
public class JanelaCliente extends JFrame {  
    private JLabel rotulo1, rotulo2, rotulo3, rotulo4, rotulo5, rotulo6,  
            rotulo7, rotulo8, rotulo9, rotulo10, rotulo11, rotulo12, rotulo13,  
            rotulo14, rotulo15;  
    private JTextField caixa1, caixa3, caixa4, caixa5, caixa6, caixa7,  
            caixa8, caixa9, caixa10, caixa11, caixa12, caixa13, caixa14  
            ;  
    JFormattedTextField caixa2,caixa15;  
    private JButton botao1, botao2, botao3, botao4, botao5, botao6;  
  
    private static EntityManagerFactory fabricaDeEntidades = null;  
  
    private static EntityManager gerenciador = null;  
    ImageIcon icone;  
    ImageIcon icone1;  
    ImageIcon icone2;  
    ImageIcon icone3;  
    ImageIcon icone4;  
    ImageIcon icone5;  
    public String getData() {  
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
        return formatter.format(new java.util.Date());  
    }
    public java.util.Date stringToData(String data) {  
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");  
        java.util.Date dataUtil = null;  
        try {  
            dataUtil = df.parse(caixa2.getText());  
        } catch (ParseException ex) {  
        }  
        return dataUtil;  
    }  
    public java.sql.Date utilToSql(java.util.Date dataUtil) {  
        java.sql.Date dataSQL = new java.sql.Date(dataUtil.getTime());  
        return dataSQL;  
    }  
    public java.util.Date sqlToUtil(java.sql.Date dataSQL) {  
        java.util.Date dataResgatada = new java.util.Date(dataSQL.getTime());  
        return dataResgatada;  
    }  
  
    public String dbToForm(java.sql.Date dataSQL) {  
        java.util.Date dataUtil = sqlToUtil(dataSQL);  
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
        return formatter.format(dataUtil);  
    }  
    public java.sql.Date formToDb(String data) {  
        java.util.Date dataUtil = stringToData(data);  
        java.sql.Date dataSQL = utilToSql(dataUtil);  
        return dataSQL;  
    }  

    public JanelaCliente(EntityManagerFactory fabricaDeEntidades2,  
            EntityManager gerenciador2) throws Exception {  

        super("Cliente");  
        Container tela = getContentPane();  
        icone = new ImageIcon("001.gif");  
        icone1 = new ImageIcon("005.gif");  
        icone2 = new ImageIcon("126.gif");  
        icone3 = new ImageIcon("041.gif");  
        icone4 = new ImageIcon("100.gif");  
        icone5 = new ImageIcon("004.gif");  
        botao1 = new JButton (icone);  
        botao2 = new JButton (icone1);  
        botao3 = new JButton (icone2);  
        botao4 = new JButton (icone3);  
        botao5 = new JButton (icone4);  
        botao6 = new JButton (icone5);  
  
        tela.setLayout(null);  
        fabricaDeEntidades = fabricaDeEntidades2;  
        gerenciador = gerenciador2;  
  
        rotulo1 = new JLabel("Codigo:");  
        rotulo2 = new JLabel("Data:");  
        rotulo3 = new JLabel("Nome:");  
        rotulo5 = new JLabel("Endereço:");  
        rotulo6 = new JLabel("Cpf:");  
        rotulo7 = new JLabel("Bairro:");  
        rotulo8 = new JLabel("Cidade:");  
        rotulo9 = new JLabel("Uf:");  
        rotulo10 = new JLabel("Cep:");  
        rotulo11 = new JLabel("Telefone:");  
        rotulo12 = new JLabel("Complemento:");  
        rotulo13 = new JLabel("Email:");  
        rotulo14 = new JLabel("Rg:");  
        rotulo15 = new JLabel("Dta de Nascimento:");  
  
        MaskFormatter formater = new MaskFormatter();   
        formater.setMask("##-##-####");  
          
        MaskFormatter formater2 = new MaskFormatter();   
        formater2.setMask("##-##-####");  
          
        caixa1 = new JTextField();  
        caixa2 = new JFormattedTextField();  
        formater.install(caixa2);  
        caixa3 = new JTextField();  
        caixa5 = new JTextField();  
        caixa6 = new JTextField();  
        caixa7 = new JTextField();  
        caixa8 = new JTextField();  
        caixa9 = new JTextField();  
        caixa10 = new JTextField();  
        caixa11 = new JTextField();  
        caixa12 = new JTextField();  
        caixa13 = new JTextField();  
        caixa14 = new JTextField();  
        caixa15 = new JFormattedTextField();  
        formater2.install(caixa15);  
  
        //botao1 = new JButton("Incluir");  
        //botao2 = new JButton("Alterar");  
        //botao3 = new JButton("Excluir");  
        //botao4 = new JButton("Listar Clientes");  
        //botao5 = new JButton("Gerar Relatório");  
        //botao6 = new JButton("Fechar");  
  
        // coluna, linha, largura, altura  
        rotulo1.setBounds(21, 11, 43, 20);  
        caixa1.setBounds(110, 11, 50, 20);  
  
        botao1.setBounds(20, 279, 100, 20);  
        botao2.setBounds(130, 279, 100, 20);  
        botao3.setBounds(240, 279, 100, 20);  
        botao4.setBounds(350, 279, 150, 20);  
        botao5.setBounds(510, 279, 150, 20);  
        botao6.setBounds(510, 310, 150, 20);  
  
        rotulo2.setBounds(170, 11, 100, 20);  
        caixa2.setBounds(220, 11, 90, 20);  
  
        rotulo3.setBounds(21, 42, 100, 20);  
        caixa3.setBounds(110, 42, 550, 20);  
  
  
        rotulo5.setBounds(21, 73, 100, 20);  
        caixa5.setBounds(110, 73, 300, 20);  
  
        rotulo6.setBounds(21, 104, 100, 20);  
        caixa6.setBounds(110, 104, 150, 20);  
  
        rotulo7.setBounds(270, 104, 100, 20);  
        caixa7.setBounds(330, 104, 330, 20);  
  
        rotulo8.setBounds(21, 135, 100, 20);  
        caixa8.setBounds(110, 135, 236, 20);  
  
        rotulo9.setBounds(358, 135, 32, 20);  
        caixa9.setBounds(400, 135, 50, 20);  
  
        rotulo10.setBounds(466, 135, 43, 20);  
        caixa10.setBounds(519, 135, 141, 20);  
  
        rotulo11.setBounds(21, 166, 100, 20);  
        caixa11.setBounds(110, 166, 141, 20);  
  
        rotulo12.setBounds(261, 166, 100, 20);  
        caixa12.setBounds(352, 166, 308, 20);  
  
        rotulo13.setBounds(21, 197, 100, 20);  
        caixa13.setBounds(110, 197, 280, 20);  
  
        rotulo14.setBounds(415, 197, 100, 20);  
        caixa14.setBounds(460, 197, 200, 20);  
  
        rotulo15.setBounds(415, 73, 120, 20);  
        caixa15.setBounds(530, 73, 90, 20);  
  
        tela.add(rotulo1);  
        tela.add(caixa1);  
  
        tela.add(rotulo2);  
        tela.add(caixa2);  
  
        tela.add(botao1);  
        tela.add(botao2);  
        tela.add(botao3);  
        tela.add(botao4);  
        tela.add(botao5);  
        tela.add(botao6);  
  
        tela.add(rotulo3);  
        tela.add(caixa3);  
  
        tela.add(rotulo5);  
        tela.add(caixa5);  
  
        tela.add(rotulo6);  
        tela.add(caixa6);  
  
        tela.add(rotulo7);  
        tela.add(caixa7);  
  
        tela.add(rotulo8);  
        tela.add(caixa8);  
  
        tela.add(rotulo9);  
        tela.add(caixa9);  
  
        tela.add(rotulo10);  
        tela.add(caixa10);  
  
        tela.add(rotulo11);  
        tela.add(caixa11);  
  
        tela.add(rotulo12);  
        tela.add(caixa12);  
  
        tela.add(rotulo13);  
        tela.add(caixa13);  
  
        tela.add(rotulo14);  
        tela.add(caixa14);  
  
        tela.add(rotulo15);  
        tela.add(caixa15);  
          
          
  
//      Calcula a diferença em milisegundos entre as duas datas  
  //   long dif = hoje.getTime() - base.getTime();  
  
//      divide a diferença pelo numero de milisegundos de 1 dia, que seria 86400000  
//     long dias = dif/(1000L*60*60*24);  
//     long horas = dif/(1000L*60*60);  
//     long minutos = dif/(1000L*60);  
  
//     System.out.println("Data Atual: " + hoje);  
//     System.out.println("Data FORMATADA: " + formatador.format(base));  
//     System.out.println("Dif. em Dias: " + dias);  
//     System.out.println("Dif. em Horas: " + horas);  
//     System.out.println("Dif. em Minutos: " + minutos);  
      
        
        caixa1.addFocusListener(new FocusListener() {  
  
            public void focusGained(FocusEvent e) {  
                // TODO Auto-generated method stub  
  
            }  
  
            // Ao perder o foco do caixa1 é executado este método  
            public void focusLost(FocusEvent e) {  
                // TODO Auto-generated method stub  
  
                if (!caixa1.getText().trim().equals("")) {  
                    // Se o campo conter um valor diferente de vazio  
  
                    Cliente objetoCliente = gerenciador.find(Cliente.class,Integer.parseInt(caixa1.getText()));  
  
                    if (objetoCliente != null) {  
                        caixa2.setText(objetoCliente.getData().toString());  
                        caixa3.setText("" + objetoCliente.getNomeCompleto());  
                        caixa5.setText("" + objetoCliente.getEndereco());  
                        caixa6.setText("" + objetoCliente.getCpf());  
                        caixa7.setText("" + objetoCliente.getBairro());  
                        caixa8.setText("" + objetoCliente.getCidade());  
                        caixa9.setText("" + objetoCliente.getUf());  
                        caixa10.setText("" + objetoCliente.getCep());  
                        caixa11.setText("" + objetoCliente.getTelefone());  
                        caixa12.setText("" + objetoCliente.getComplemento());  
                        caixa13.setText("" + objetoCliente.getEmail());  
                        caixa14.setText("" + objetoCliente.getRg());  
                        caixa15.setText(""  
                                + objetoCliente.getDatadenascimento());  
                        botao1.setEnabled(false);  
                        JOptionPane.showMessageDialog(null,  
                                "Cliente já cadastrado com este código!!!");  
  
                    } else {  
                        botao1.setEnabled(true);  
                        caixa2.setText("");  
                        caixa3.setText("");  
                        caixa5.setText("");  
                        caixa6.setText("");  
                        caixa7.setText("");  
                        caixa8.setText("");  
                        caixa9.setText("");  
                        caixa10.setText("");  
                        caixa11.setText("");  
                        caixa12.setText("");  
                        caixa13.setText("");  
                        caixa14.setText("");  
                        caixa15.setText("");  
                        JOptionPane.showMessageDialog(null,  
                                "Código livre para cadastro!");  
                    }  
                }  
            }  
  
        });  
        caixa2.addFocusListener(new FocusListener() {  
  
            public void focusGained(FocusEvent e) {  
                caixa2.setText("");  
            }  
  
            public void focusLost(FocusEvent e) {  
                // TODO Auto-generated method stub  
            }  
        });  
        caixa15.addFocusListener(new FocusListener() {  
  
            public void focusGained(FocusEvent e) {  
                caixa15.setText("");  
            }  
  
            public void focusLost(FocusEvent e) {  
                // TODO Auto-generated method stub  
            }  
        });  
  
        botao1.addActionListener(new ActionListener() {    
            public void actionPerformed(ActionEvent e1) {    
                // Persistir dados    
                // inclusão de um novo registro    
                if (caixa1.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o código do cliente!");    
                    caixa1.requestFocus();    
                } else if (caixa2.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null, "Informe a Data!");    
                    caixa2.requestFocus();    
                } else if (caixa3.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Nome Completo do Cliente!");    
                    caixa3.requestFocus();    
    
                } else if (caixa5.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Endereço do Cliente!");    
                    caixa5.requestFocus();    
    
                } else if (caixa6.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Cpf do Cliente!");    
                    caixa6.requestFocus();    
    
                } else if (caixa7.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Bairro do Cliente!");    
                    caixa7.requestFocus();    
    
                } else if (caixa8.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe a Cidade do Cliente!");    
                    caixa8.requestFocus();    
    
                } else if (caixa9.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe a Uf do Cliente!");    
                    caixa9.requestFocus();    
    
                } else if (caixa10.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Cep do Cliente!");    
                    caixa10.requestFocus();    
    
                } else if (caixa11.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Telefone do Cliente!");    
                    caixa11.requestFocus();    
    
                } else if (caixa12.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Complemento!");    
                    caixa12.requestFocus();    
    
                } else if (caixa13.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Email do Cliente!");    
                    caixa13.requestFocus();    
    
                } else if (caixa14.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Rg do Cliente!");    
                    caixa14.requestFocus();    
    
                } else if (caixa15.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe a Data de Nascimento do Cliente!");    
                    caixa15.requestFocus();    
    
                } else {      
                    //SimpleDateFormat dataf = new SimpleDateFormat("yyyy-MM-dd");    
                  //  SimpleDateFormat formatador = new SimpleDateFormat("yyyy-MM-dd");    
                   // SimpleDateFormat formatador2 = new SimpleDateFormat("yyyy-MM-dd");      
//                Transforma uma String em um Date    
                 //Date data1 = formatador.parse(caixa2.getText());    
                  //  java.sql.Date dataSql = null;     
                  //  java.sql.Date dataSql2 = null;     
                   // try {    
                  //  Date dataResgatada = formatador.parse(caixa2.getText());    
                  //  Date data2 = formatador2.parse(caixa15.getText());    
                   // dataResgatada = new java.sql.Date(dataResgatada.getTime());    
                    //    data2 = new java.sql.Date(data2.getTime());    
                     //   dataSql = (java.sql.Date) dataResgatada;    
                     ///   dataSql2 = (java.sql.Date) data2; 
                      ///  JOptionPane.showMessageDialog(null, "Data convertida com sucesso"); 
                   // } catch (ParseException e2) {    
                        // TODO Auto-generated catch block    
                     //   e2.printStackTrace();    
                      //  JOptionPane.showMessageDialog(null, "Erro ao converte data para sql: " + ((Throwable) e2).getMessage());    
                   // }     
               // }  
                // Date data2= formatador2.parse(caixa15.getText());    
                        
                  //  System.out.println("minhadata "+data2);    
                    Cliente objetoCliente = new Cliente();    
                    objetoCliente.setCodcliente(Integer.parseInt(caixa1.getText()));    
                    objetoCliente.setData((Date)caixa2.getValue());    
                    objetoCliente.setNomeCompleto(caixa3.getText());    
                    objetoCliente.setEndereco(caixa5.getText());    
                    objetoCliente.setCpf(Double.parseDouble(caixa6.getText()));    
                    objetoCliente.setBairro(caixa7.getText());    
                    objetoCliente.setCidade(caixa8.getText());    
                    objetoCliente.setUf(caixa9.getText());    
                    objetoCliente.setCep(Integer.parseInt(caixa10.getText()));    
                    objetoCliente.setTelefone(Integer.parseInt(caixa11.getText()));    
                    objetoCliente.setComplemento(caixa12.getText());    
                    objetoCliente.setEmail(caixa13.getText());    
                    objetoCliente.setRg(Double.parseDouble(caixa14.getText()));    
                    objetoCliente.setDatadenascimento((Date)caixa15.getValue());    
    
                    gerenciador.getTransaction().begin();    
                    gerenciador.persist(objetoCliente);    
                    gerenciador.getTransaction().commit();    
                    JOptionPane.showMessageDialog(null,    
                            "Cliente Incluído com Sucesso!");    
                    caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);    
                    caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);    
                    caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);    
                }        
            }    
        });    
  
        botao2.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                // fecha a janela  
                Cliente c = new Cliente();  
                c.setCodcliente(Integer.parseInt(caixa1.getText()));  
                c.setData((Date)caixa2.getValue());  
                c.setNomeCompleto(caixa3.getText());  
                c.setEndereco(caixa5.getText());  
                c.setCpf(Double.parseDouble(caixa6.getText()));  
                c.setBairro(caixa7.getText());  
                c.setCidade(caixa8.getText());  
                c.setUf(caixa9.getText());  
                c.setCep(Integer.parseInt(caixa10.getText()));  
                c.setTelefone(Integer.parseInt(caixa11.getText()));  
                c.setComplemento(caixa12.getText());  
                c.setEmail(caixa13.getText());  
                c.setRg(Double.parseDouble(caixa14.getText()));  
                c.setDatadenascimento((Date)caixa15.getValue());  
  
                gerenciador.getTransaction().begin();  
                gerenciador.merge(c);  
                gerenciador.getTransaction().commit();  
  
                JOptionPane.showMessageDialog(null,  
                        "Registro Alterado Com Sucesso");  
                caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);  
                caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);  
                caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);  
            }  
        });  
  
        botao3.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                // cria nova janela  
                Cliente c = gerenciador.find(Cliente.class, Integer.parseInt(caixa1.getText()));  
  
                gerenciador.getTransaction().begin();  
                gerenciador.remove(c);  
                gerenciador.getTransaction().commit();  
  
                JOptionPane.showMessageDialog(null,  
                        "Registro Excluido Com Sucesso");  
  
                caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);  
                caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);  
                caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);  
            }  
        });  
  
        botao4.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                // cria nova janela  
  
                @SuppressWarnings("unused")  
                //ListarCliente l = new ListarCliente(fabricaDeEntidades,gerenciador);  
                ListarCliente list = new ListarCliente(fabricaDeEntidades, gerenciador);  
            }  
        });  
        botao5.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                // cria nova janela  
                RelatorioCliente rep = new RelatorioCliente();  
                JasperPrint relat;  
                try {  
                    relat = rep.gerarRelatorioCliente();  
                    JasperViewer.viewReport(relat, false);  
                } catch (Exception e1) {  
                    e1.printStackTrace();  
                }  
            }  
        });  
  
        botao6.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                // cria nova janela  
                dispose();  
            }  
        });  
        // setSize(largura, altura);  
        setSize(700, 397);  
        setVisible(true);  
        setLocationRelativeTo(null);  
    }  
  
    public static void main(String[] args) throws Exception {  
  
    fabricaDeEntidades = Persistence  
            .createEntityManagerFactory("TurmaN40PostgreSQL");  
gerenciador = fabricaDeEntidades.createEntityManager();  
  
        JanelaCliente app = new JanelaCliente(fabricaDeEntidades, gerenciador);  
        app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  
    }  
}  

[/code]

Daniferreira vc tem que criar um objeto da Classe ManipulaData que te passei ei vc chama o metodo formToDb para converter sua data para o formato sql

duvidas avise ou mande um email willianresplandes@gmail.com


//exemplo java.ultil.Datel para java.sql.Dqte

import java.util.Date;

import exception.PegarDataAtual;

import util.ManipulaData;

public class Data {
	// cria o obj da classe manipula data
	static ManipulaData md = new ManipulaData();
	//metodo principal
	public static void main(String args[]) {
		pegarDataAtual();
	}
	public static void pegarDataAtual() {
		// passa a data atual para uma string
		String data_Atual = md.getDataAtual();
		// imprime a data atual
		System.out.println("data atual do sistema [ " + data_Atual + " ]");
		// converte a data para o formato de salvar no banco
		Date data_sql = md.formToDb(data_Atual);
		// imprime a data no formato de salvar no banco
		System.out.println("data no formato sql [ " + data_sql + " ]");

	}

}

testa seu código desse modo …

ManipulaData md = new ManipulaData();
       	   
Date data1 = md.stringToData(caixa2.getText());   
   
java.sql.Date dataSql = null;       
 java.sql.Date dataSql2 = null;    
   
try {     
 Date dataResgatada = md.stringToData(caixa2.getText());      
Date data2 = md.stringToData(caixa15.getText());      
    dataResgatada = new java..Date(dataResgatada.getTime());      
    data2 = new java.sql.Date(data2.getTime());      
  dataSql = (java.sql.Date) dataResgatada;      
dataSql2 = (java.sql.Date) data2;   
      JOptionPane.showMessageDialog(null, "Data convertida com sucesso");   
} catch (ParseException e2) {      
          catch block      
     e2.printStackTrace();      
          JOptionPane.showMessageDialog(null, "Erro ao converte data para sql: " + ((Throwable) e2).getMessage());      
                      }       
                  }    
                    Date data2= md.stringToData(caixa15.getText());      
                             
                      System.out.println("minhadata "+data2); 

Tipo essa classe que vc esta chamando Manipula data e a sua classe que vc tinha passado ou essa que vc postou acima?

nao entendi da onde vc chamou ela…

Então o que acontece é que o JDBC suporta o objeto Date , mas não é o do java.util e sim do java.sql.

Apesar do date do pacote sql extender o date do java, nesse caso vc precisa do date sql

Então vc tem que pegar a data do tipo date java Date dataDesejada= SimpleDateFormat(“dd/MM/yyyy”).parse(dataTexto);
dataDesejada.getTime() isso irá lhe devolver um long , esse long deve ser usado para instanciar um objeto do tipo date do sql.

New Date(dataDesejada.getTime());

stmt.setDate(a ordem que vc definiu,New Date(dataDesejada.getTime()));

Pronto isso deve resolver o seu problema.

outra coisa ao invés de trabalhar com date trabalhe com calendar, porque o date não leva em consideração o local aonde vc esta, logo se sua aplicação estiver em um lugar onde não seja o calendário gregoriano, sua aplicação não irá funcionar.
Java Calendar pega o calendário local e pode funcionar com calendário lunar,budista e tem métodos melhores para se trabalhar.

Um conselho que me deram e achei de grande ajuda, procure quebrar essa sua classe em métodos.

Por exemplo divida em métodos que montem a tela:um método preparaJanela(), um outro monta menu e outro
monta paineldebotõesSul

Outra coisa se vc não vai sobre-escrever nenhum método da classe JFrame não dê extends.

Se sua classe simplesmente vai conter um JFrame.

Use composition (composição).

E lembresse que toda classe em java é uma especialista.

Sim essa classe manipula data que estou instanciando e a classe que te passei acima
então eu crio um objeto dela e chamo os metodos que nela contem para fazer toda a manipulação
da data
e so vc copiar todo o codigo que te postei ai e colar em uma classe de um nome que vc achar desejavel
qualquer duvida so chamar…

eu fiz o que me disse copiei tudo seu codigo

o botao que salva no banco da uma olhada pra ver como ta

[code]botao1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e1) {
// Persistir dados
// inclusão de um novo registro
if (caixa1.getText().trim().equals("")) {
JOptionPane.showMessageDialog(null,
“Informe o código do cliente!”);
caixa1.requestFocus();
} else if (caixa2.getText().trim().equals("")) {
JOptionPane.showMessageDialog(null, “Informe a Data!”);
caixa2.requestFocus();
} else if (caixa3.getText().trim().equals("")) {
JOptionPane.showMessageDialog(null,
“Informe o Nome Completo do Cliente!”);
caixa3.requestFocus();

                } else if (caixa5.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Endereço do Cliente!");    
                    caixa5.requestFocus();    
    
                } else if (caixa6.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Cpf do Cliente!");    
                    caixa6.requestFocus();    
    
                } else if (caixa7.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Bairro do Cliente!");    
                    caixa7.requestFocus();    
    
                } else if (caixa8.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe a Cidade do Cliente!");    
                    caixa8.requestFocus();    
    
                } else if (caixa9.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe a Uf do Cliente!");    
                    caixa9.requestFocus();    
    
                } else if (caixa10.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Cep do Cliente!");    
                    caixa10.requestFocus();    
    
                } else if (caixa11.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Telefone do Cliente!");    
                    caixa11.requestFocus();    
    
                } else if (caixa12.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Complemento!");    
                    caixa12.requestFocus();    
    
                } else if (caixa13.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Email do Cliente!");    
                    caixa13.requestFocus();    
    
                } else if (caixa14.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe o Rg do Cliente!");    
                    caixa14.requestFocus();    
    
                } else if (caixa15.getText().trim().equals("")) {    
                    JOptionPane.showMessageDialog(null,    
                            "Informe a Data de Nascimento do Cliente!");    
                    caixa15.requestFocus();    
    
                } else {      
                    ManipulaData md = new ManipulaData();  
                    
                    Date data1 = md.stringToData(caixa2.getText());     
                         
                    java.sql.Date dataSql = null;         
                    java.sql.Date dataSql2 = null;      
                         
                    Date dataResgatada = md.stringToData(caixa2.getText());        
                    Date data2 = md.stringToData(caixa15.getText());        
                        dataResgatada = new java.util.Date(dataResgatada.getTime());        
                        data2 = new java.sql.Date(data2.getTime());        
                      dataSql = (java.sql.Date) dataResgatada;        
                    dataSql2 = (java.sql.Date) data2;     
                          JOptionPane.showMessageDialog(null, "Data convertida com sucesso");         
                }           
                    Cliente objetoCliente = new Cliente();    
                    objetoCliente.setCodcliente(Integer.parseInt(caixa1.getText()));    
                    objetoCliente.setData((Date)caixa2.getValue());    
                    objetoCliente.setNomeCompleto(caixa3.getText());    
                    objetoCliente.setEndereco(caixa5.getText());    
                    objetoCliente.setCpf(Double.parseDouble(caixa6.getText()));    
                    objetoCliente.setBairro(caixa7.getText());    
                    objetoCliente.setCidade(caixa8.getText());    
                    objetoCliente.setUf(caixa9.getText());    
                    objetoCliente.setCep(Integer.parseInt(caixa10.getText()));    
                    objetoCliente.setTelefone(Integer.parseInt(caixa11.getText()));    
                    objetoCliente.setComplemento(caixa12.getText());    
                    objetoCliente.setEmail(caixa13.getText());    
                    objetoCliente.setRg(Double.parseDouble(caixa14.getText()));    
                    objetoCliente.setDatadenascimento((Date)caixa15.getValue());    
    
                    gerenciador.getTransaction().begin();    
                    gerenciador.persist(objetoCliente);    
                    gerenciador.getTransaction().commit();    
                    JOptionPane.showMessageDialog(null,    
                            "Cliente Incluído com Sucesso!");    
                    caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);    
                    caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);    
                    caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);    
                     
            }    
        });    [/code]

classe Data

[code]
//exemplo java.ultil.Datel para java.sql.Dqte

import java.util.Date;  
  
import Util.ManipulaData;  
  
public class Data {  
    // cria o obj da classe manipula data  
    static ManipulaData md = new ManipulaData();  
    //metodo principal  
    public static void main(String args[]) {  
        pegarDataAtual();  
    }  
    public static void pegarDataAtual() {  
        // passa a data atual para uma string  
        String data_Atual = md.getData();  
        // imprime a data atual  
        System.out.println("data atual do sistema [ " + data_Atual + " ]");  
        // converte a data para o formato de salvar no banco  
        Date data_sql = md.formToDb(data_Atual);  
        // imprime a data no formato de salvar no banco  
        System.out.println("data no formato sql [ " + data_sql + " ]");  
  
    }  
  
} [/code] 

Classe no pacote Util Manipula Data

[code] package Util;

import java.text.ParseException;  
import java.text.SimpleDateFormat;  
import java.util.Calendar;  
import java.util.Date;  
  
public class ManipulaData {  
      
    //pega a data atual  
    public String getData() {  
        SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");  
        return formatter.format(new java.util.Date());  
    }  
      
    //converte uma string para date  
    public java.util.Date stringToData(String data) {  
        SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");  
        java.util.Date dataUtil = null;  
        try {  
            dataUtil = df.parse(data);  
        } catch (ParseException ex) {  
        }  
        return dataUtil;  
    }  
      
    //converte data em String para Data em Long  
    public Long StringToLong(String data) {  
        String data_dia, data_mes, data_ano;  
  
        data_dia = data.substring(0, 2);  
        data_mes = data.substring(3, 5);  
        data_ano = data.substring(6, 10);  
  
        String formata = "";  
        formata += data_dia + data_mes + data_ano;  
        long data_format = Integer.parseInt(formata);  
        return data_format;  
    }  
      
    //Converte Date Para String  
    public String dataToString(java.util.Date data) {  
        SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");  
        return formatter.format(data);  
    }  
  
    //Converte Util para Sql  
    public java.sql.Date utilToSql(java.util.Date dataUtil) {  
        java.sql.Date dataSQL = new java.sql.Date(dataUtil.getTime());  
        return dataSQL;  
    }  
  
    //Converte Sql para Util  
    public java.util.Date sqlToUtil(java.sql.Date dataSQL) {  
        java.util.Date dataResgatada = new java.util.Date(dataSQL.getTime());  
        return dataResgatada;  
    }  
  
    //Converte a data que está no DB para String que sera mostrada no form  
    public String dbToForm(java.sql.Date dataSQL) {  
        java.util.Date dataUtil = sqlToUtil(dataSQL);  
        SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");  
        return formatter.format(dataUtil);  
    }  
  
    //converte a data que esta no form para ser gravada no DB  
    public java.sql.Date formToDb(String data) {  
        java.util.Date dataUtil = stringToData(data);  
        java.sql.Date dataSQL = utilToSql(dataUtil);  
        return dataSQL;  
    }  
      
    //calcula diferenças de dias entre uma data inicial e uma data final  
        public Long calcularDatas_Dia(String data_inicio, String data_final) throws ParseException {   
        Long resultado;  
        // Dando um exemplo: quantos dias se passam desde 07/09/1822 até 05/06/2006?    
        SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");  
        df.setLenient(false);    
        Date d1 = df.parse (data_inicio);    
  
        Date d2 = df.parse (data_final);    
         
        long dt = (d2.getTime() - d1.getTime()) + 3600000; // 1 hora para compensar horário de verão    
        resultado =  (dt / 86400000L); // passaram-se 67111 dias    
       return resultado;  
    }    
  
      
    //calcula difereça de meses entre uma data inicial e uma data final  
    public Double calcularDatas_Meses(String data_inicio, String data_final) throws ParseException {   
            SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");  
              
            Date dataInicio = df.parse(data_inicio);    
            Date dataFim = df.parse(data_final);        
            /*  
             * valor de um mes em milisegundos, sendo que os valores sao:  
             * 30 dias no mes, 24 horas no dia, 60 minutos por hora, 60 segundos por minuto e 1000 milisegundos    
             */    
            final double MES_EM_MILISEGUNDOS = 30.0 * 24.0 * 60.0 * 60.0 * 1000.0;    
            //final double MES_EM_MILISEGUNDOS = 2592000000.0;    
                
            double numeroDeMeses = (double)((dataFim.getTime() - dataInicio.getTime())/MES_EM_MILISEGUNDOS);    
      
            return numeroDeMeses;  
        }  
     //calcula difereça de anos entre uma data inicial e uma data final  
     public Integer calculaDatas_Anos(String data_inicio, String data_final) throws ParseException{  
         SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");    
         Date data1 = df.parse(data_inicio);    
         Date data2 = df.parse(data_final);    
           
         Calendar cal1 = Calendar.getInstance();    
         Calendar cal2 = Calendar.getInstance();    
         cal1.setTime(data1);    
         cal2.setTime(data2);    
         int year1 = cal1.get(Calendar.YEAR);    
         int year2 = cal2.get(Calendar.YEAR);    
         int month1 = cal1.get(Calendar.MONTH);    
         int month2 = cal2.get(Calendar.MONTH);    
         int day1 = cal1.get(Calendar.DAY_OF_MONTH);    
         int day2 = cal2.get(Calendar.DAY_OF_MONTH);    
         int anos = year2 - year1;    
         if ( (month2 < month1)     
              || ( (month2 == month1) && (day2 < day1) ) ) {    
             anos -= 1;    
         }    
           
         return anos;  
     }  
} [/code]

porem apresenta o seguinte erro ao clicar no botao de gravar no banco

Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
at JanelaCliente$4.actionPerformed(JanelaCliente.java:385)
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.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(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)

Daniferreira vc copiou a classe data essa classe data eu fiz de exemplo p vc olha que eu instanceio a classe ManipulaData nela
e essa classe ManipulaData que vc tem que usar, e a primeira classe que coloque como exemplo cujo a mesma esta como o nome
Manipula data exemplo

[code]

//classe ManipulaData

package util;      
import java.text.ParseException;  
import java.text.SimpleDateFormat;  
import java.util.Calendar;  
import java.util.Date;  
  
public class ManipulaData {  
      
    //pega a data atual  
    public String getDataAtual() {  
        SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");  
        return formatter.format(new java.util.Date());  
    }  
      
    //converte uma string para date  
    public java.util.Date stringToData(String dataStr) {  
        SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");  
        java.util.Date dataUtil = null;  
        try {  
            dataUtil = df.parse(dataStr);  
        } catch (ParseException ex) {  
        }  
        return dataUtil;  
    }  
      
    //converte data em String para Data em Long  
    public Long StringToLong(String data) {  
        String data_dia, data_mes, data_ano;  
  
        data_dia = data.substring(0, 2);  
        data_mes = data.substring(3, 5);  
        data_ano = data.substring(6, 10);  
  
        String formata = "";  
        formata += data_dia + data_mes + data_ano;  
        long data_format = Integer.parseInt(formata);  
        return data_format;  
    }  
      
    //Converte Date Para String  
    public String dataToString(java.util.Date data) {  
        SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");  
        return formatter.format(data);  
    }  
  
    //Converte Util para Sql  
    public java.sql.Date utilToSql(java.util.Date dataUtil) {  
        java.sql.Date dataSQL = new java.sql.Date(dataUtil.getTime());  
        return dataSQL;  
    }  
  
    //Converte Sql para Util  
    public java.util.Date sqlToUtil(java.sql.Date dataSQL) {  
        java.util.Date dataResgatada = new java.util.Date(dataSQL.getTime());  
        return dataResgatada;  
    }  
  
    //Converte a data que está no DB para String que sera mostrada no form  
    public String dbToForm(java.sql.Date dataSQL) {  
        java.util.Date dataUtil = sqlToUtil(dataSQL);  
        SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");  
        return formatter.format(dataUtil);  
    }  
  
    //converte a data que esta no form para ser gravada no DB  
    public java.sql.Date formToDb(String data) {  
        java.util.Date dataUtil = stringToData(data);  
        java.sql.Date dataSQL = utilToSql(dataUtil);  
        return dataSQL;  
    }  
      
    //calcula diferenças de dias entre uma data inicial e uma data final  
        public Long calcularDatas_Dia(String data_inicio, String data_final) throws ParseException {   
        Long resultado;  
        // Dando um exemplo: quantos dias se passam desde 07/09/1822 até 05/06/2006?    
        SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");  
        df.setLenient(false);    
        Date d1 = df.parse (data_inicio);    
  
        Date d2 = df.parse (data_final);    
         
        long dt = (d2.getTime() - d1.getTime()) + 3600000; // 1 hora para compensar horário de verão    
        resultado =  (dt / 86400000L); // passaram-se 67111 dias    
       return resultado;  
    }    
  
      
    //calcula difereça de meses entre uma data inicial e uma data final  
    public Double calcularDatas_Meses(String data_inicio, String data_final) throws ParseException {   
            SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");  
              
            Date dataInicio = df.parse(data_inicio);    
            Date dataFim = df.parse(data_final);        
            /*  
             * valor de um mes em milisegundos, sendo que os valores sao:  
             * 30 dias no mes, 24 horas no dia, 60 minutos por hora, 60 segundos por minuto e 1000 milisegundos    
             */    
            final double MES_EM_MILISEGUNDOS = 30.0 * 24.0 * 60.0 * 60.0 * 1000.0;    
            //final double MES_EM_MILISEGUNDOS = 2592000000.0;    
                
            double numeroDeMeses = (double)((dataFim.getTime() - dataInicio.getTime())/MES_EM_MILISEGUNDOS);    
      
            return numeroDeMeses;  
        }  
     //calcula difereça de anos entre uma data inicial e uma data final  
     public Integer calculaDatas_Anos(String data_inicio, String data_final) throws ParseException{  
         SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");    
         Date data1 = df.parse(data_inicio);    
         Date data2 = df.parse(data_final);    
           
         Calendar cal1 = Calendar.getInstance();    
         Calendar cal2 = Calendar.getInstance();    
         cal1.setTime(data1);    
         cal2.setTime(data2);    
         int year1 = cal1.get(Calendar.YEAR);    
         int year2 = cal2.get(Calendar.YEAR);    
         int month1 = cal1.get(Calendar.MONTH);    
         int month2 = cal2.get(Calendar.MONTH);    
         int day1 = cal1.get(Calendar.DAY_OF_MONTH);    
         int day2 = cal2.get(Calendar.DAY_OF_MONTH);    
         int anos = year2 - year1;    
         if ( (month2 < month1)     
              || ( (month2 == month1) && (day2 < day1) ) ) {    
             anos -= 1;    
         }    
           
         return anos;  
     }  
}  [/code]

//classe de exemplo de uso da ManipulaData
    //exemplo java.ultil.Datel para java.sql.Dqte  
      
    import java.util.Date;  
      
    import exception.PegarDataAtual;  
      
    import util.ManipulaData;  
      
    public class Data {  
        // cria o obj da classe manipula data  
        static ManipulaData md = new ManipulaData();  
        //metodo principal  
        public static void main(String args[]) {  
            pegarDataAtual();  
        }  
        public static void pegarDataAtual() {  
            // passa a data atual para uma string  
            String data_Atual = md.getDataAtual();  
            // imprime a data atual  
            System.out.println("data atual do sistema [ " + data_Atual + " ]");  
            // converte a data para o formato de salvar no banco  
            Date data_sql = md.formToDb(data_Atual);  
            // imprime a data no formato de salvar no banco  
            System.out.println("data no formato sql [ " + data_sql + " ]");  
      
        }  
      
    }  

se coloco try catch da erro no catch troquei aonde tava java.util.date pra java.sql.date gravo no banco mais a data nada o codigo ta igual ali acima porem so troquei java.util.date

entendi agora so coloquei essas duas da uma olhada

[code] package Util;

import java.text.ParseException;  
import java.text.SimpleDateFormat;  
import java.util.Calendar;  
import java.util.Date;  
  
public class ManipulaData {  
      
    //pega a data atual  
    public String getData() {  
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
        return formatter.format(new java.util.Date());  
    }  
      
    //converte uma string para date  
    public java.util.Date stringToData(String data) {  
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");  
        java.util.Date dataUtil = null;  
        try {  
            dataUtil = df.parse(data);  
        } catch (ParseException ex) {  
        }  
        return dataUtil;  
    }  
      
    //converte data em String para Data em Long  
    public Long StringToLong(String data) {  
        String data_dia, data_mes, data_ano;  
  
        data_dia = data.substring(0, 2);  
        data_mes = data.substring(3, 5);  
        data_ano = data.substring(6, 10);  
  
        String formata = "";  
        formata += data_dia + data_mes + data_ano;  
        long data_format = Integer.parseInt(formata);  
        return data_format;  
    }  
      
    //Converte Date Para String  
    public String dataToString(java.util.Date data) {  
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
        return formatter.format(data);  
    }  
  
    //Converte Util para Sql  
    public java.sql.Date utilToSql(java.util.Date dataUtil) {  
        java.sql.Date dataSQL = new java.sql.Date(dataUtil.getTime());  
        return dataSQL;  
    }  
  
    //Converte Sql para Util  
    public java.util.Date sqlToUtil(java.sql.Date dataSQL) {  
        java.util.Date dataResgatada = new java.util.Date(dataSQL.getTime());  
        return dataResgatada;  
    }  
  
    //Converte a data que está no DB para String que sera mostrada no form  
    public String dbToForm(java.sql.Date dataSQL) {  
        java.util.Date dataUtil = sqlToUtil(dataSQL);  
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
        return formatter.format(dataUtil);  
    }  
  
    //converte a data que esta no form para ser gravada no DB  
    public java.sql.Date formToDb(String data) {  
        java.util.Date dataUtil = stringToData(data);  
        java.sql.Date dataSQL = utilToSql(dataUtil);  
        return dataSQL;  
    }  
      
    //calcula diferenças de dias entre uma data inicial e uma data final  
        public Long calcularDatas_Dia(String data_inicio, String data_final) throws ParseException {   
        Long resultado;  
        // Dando um exemplo: quantos dias se passam desde 07/09/1822 até 05/06/2006?    
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");  
        df.setLenient(false);    
        Date d1 = df.parse (data_inicio);    
  
        Date d2 = df.parse (data_final);    
         
        long dt = (d2.getTime() - d1.getTime()) + 3600000; // 1 hora para compensar horário de verão    
        resultado =  (dt / 86400000L); // passaram-se 67111 dias    
       return resultado;  
    }    
  
      
    //calcula difereça de meses entre uma data inicial e uma data final  
    public Double calcularDatas_Meses(String data_inicio, String data_final) throws ParseException {   
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");  
              
            Date dataInicio = df.parse(data_inicio);    
            Date dataFim = df.parse(data_final);        
            /*  
             * valor de um mes em milisegundos, sendo que os valores sao:  
             * 30 dias no mes, 24 horas no dia, 60 minutos por hora, 60 segundos por minuto e 1000 milisegundos    
             */    
            final double MES_EM_MILISEGUNDOS = 30.0 * 24.0 * 60.0 * 60.0 * 1000.0;    
            //final double MES_EM_MILISEGUNDOS = 2592000000.0;    
                
            double numeroDeMeses = (double)((dataFim.getTime() - dataInicio.getTime())/MES_EM_MILISEGUNDOS);    
      
            return numeroDeMeses;  
        }  
     //calcula difereça de anos entre uma data inicial e uma data final  
     public Integer calculaDatas_Anos(String data_inicio, String data_final) throws ParseException{  
         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");    
         Date data1 = df.parse(data_inicio);    
         Date data2 = df.parse(data_final);    
           
         Calendar cal1 = Calendar.getInstance();    
         Calendar cal2 = Calendar.getInstance();    
         cal1.setTime(data1);    
         cal2.setTime(data2);    
         int year1 = cal1.get(Calendar.YEAR);    
         int year2 = cal2.get(Calendar.YEAR);    
         int month1 = cal1.get(Calendar.MONTH);    
         int month2 = cal2.get(Calendar.MONTH);    
         int day1 = cal1.get(Calendar.DAY_OF_MONTH);    
         int day2 = cal2.get(Calendar.DAY_OF_MONTH);    
         int anos = year2 - year1;    
         if ( (month2 < month1)     
              || ( (month2 == month1) && (day2 < day1) ) ) {    
             anos -= 1;    
         }    
           
         return anos;  
     }  
} [/code]

classe do botao pra grava no banco porem ocorre um erro no catch

   import java.awt.Container;
import java.awt.event.*;  
import java.sql.PreparedStatement;
    import java.text.ParseException;  
    import java.text.SimpleDateFormat;  
    import java.util.Date;  
      
    import javax.persistence.EntityManager;  
    import javax.persistence.EntityManagerFactory;  
    import javax.persistence.Persistence;  
    import javax.swing.*;  
    import javax.swing.text.MaskFormatter;  
      
    import net.sf.jasperreports.engine.JasperPrint;  
    import net.sf.jasperreports.view.JasperViewer;  
     import Modelo.Cliente;  
import Util.ManipulaData;
    // Ctrl+Shift+F => Formata o código  
    // Ctrl+A e Ctrl+i => Formata a seleção  
      
    public class JanelaCliente extends JFrame {  
        private JLabel rotulo1, rotulo2, rotulo3, rotulo4, rotulo5, rotulo6,  
                rotulo7, rotulo8, rotulo9, rotulo10, rotulo11, rotulo12, rotulo13,  
                rotulo14, rotulo15;  
        private JTextField caixa1, caixa3, caixa4, caixa5, caixa6, caixa7,  
                caixa8, caixa9, caixa10, caixa11, caixa12, caixa13, caixa14  
                ;  
        JFormattedTextField caixa2,caixa15;  
        private JButton botao1, botao2, botao3, botao4, botao5, botao6;  
      
        private static EntityManagerFactory fabricaDeEntidades = null;  
      
        private static EntityManager gerenciador = null;  
        ImageIcon icone;  
        ImageIcon icone1;  
        ImageIcon icone2;  
        ImageIcon icone3;  
        ImageIcon icone4;  
        ImageIcon icone5;  
 
        public JanelaCliente(EntityManagerFactory fabricaDeEntidades2,  
                EntityManager gerenciador2) throws Exception {  
    
            super("Cliente");  
            Container tela = getContentPane();  
            icone = new ImageIcon("001.gif");  
            icone1 = new ImageIcon("005.gif");  
            icone2 = new ImageIcon("126.gif");  
            icone3 = new ImageIcon("041.gif");  
            icone4 = new ImageIcon("100.gif");  
            icone5 = new ImageIcon("004.gif");  
            botao1 = new JButton (icone);  
            botao2 = new JButton (icone1);  
            botao3 = new JButton (icone2);  
            botao4 = new JButton (icone3);  
            botao5 = new JButton (icone4);  
            botao6 = new JButton (icone5);  
      
            tela.setLayout(null);  
            fabricaDeEntidades = fabricaDeEntidades2;  
            gerenciador = gerenciador2;  
      
            rotulo1 = new JLabel("Codigo:");  
            rotulo2 = new JLabel("Data:");  
            rotulo3 = new JLabel("Nome:");  
            rotulo5 = new JLabel("Endereço:");  
            rotulo6 = new JLabel("Cpf:");  
            rotulo7 = new JLabel("Bairro:");  
            rotulo8 = new JLabel("Cidade:");  
            rotulo9 = new JLabel("Uf:");  
            rotulo10 = new JLabel("Cep:");  
            rotulo11 = new JLabel("Telefone:");  
            rotulo12 = new JLabel("Complemento:");  
            rotulo13 = new JLabel("Email:");  
            rotulo14 = new JLabel("Rg:");  
            rotulo15 = new JLabel("Dta de Nascimento:");  
      
            MaskFormatter formater = new MaskFormatter();   
            formater.setMask("##-##-####");  
              
            MaskFormatter formater2 = new MaskFormatter();   
            formater2.setMask("##-##-####");  
              
            caixa1 = new JTextField();  
            caixa2 = new JFormattedTextField();  
            formater.install(caixa2);  
            caixa3 = new JTextField();  
            caixa5 = new JTextField();  
            caixa6 = new JTextField();  
            caixa7 = new JTextField();  
            caixa8 = new JTextField();  
            caixa9 = new JTextField();  
            caixa10 = new JTextField();  
            caixa11 = new JTextField();  
            caixa12 = new JTextField();  
            caixa13 = new JTextField();  
            caixa14 = new JTextField();  
            caixa15 = new JFormattedTextField();  
            formater2.install(caixa15);  
      
            //botao1 = new JButton("Incluir");  
            //botao2 = new JButton("Alterar");  
            //botao3 = new JButton("Excluir");  
            //botao4 = new JButton("Listar Clientes");  
            //botao5 = new JButton("Gerar Relatório");  
            //botao6 = new JButton("Fechar");  
      
            // coluna, linha, largura, altura  
            rotulo1.setBounds(21, 11, 43, 20);  
            caixa1.setBounds(110, 11, 50, 20);  
      
            botao1.setBounds(20, 279, 100, 20);  
            botao2.setBounds(130, 279, 100, 20);  
            botao3.setBounds(240, 279, 100, 20);  
            botao4.setBounds(350, 279, 150, 20);  
            botao5.setBounds(510, 279, 150, 20);  
            botao6.setBounds(510, 310, 150, 20);  
      
            rotulo2.setBounds(170, 11, 100, 20);  
            caixa2.setBounds(220, 11, 90, 20);  
      
            rotulo3.setBounds(21, 42, 100, 20);  
            caixa3.setBounds(110, 42, 550, 20);  
      
      
            rotulo5.setBounds(21, 73, 100, 20);  
            caixa5.setBounds(110, 73, 300, 20);  
      
            rotulo6.setBounds(21, 104, 100, 20);  
            caixa6.setBounds(110, 104, 150, 20);  
      
            rotulo7.setBounds(270, 104, 100, 20);  
            caixa7.setBounds(330, 104, 330, 20);  
      
            rotulo8.setBounds(21, 135, 100, 20);  
            caixa8.setBounds(110, 135, 236, 20);  
      
            rotulo9.setBounds(358, 135, 32, 20);  
            caixa9.setBounds(400, 135, 50, 20);  
      
            rotulo10.setBounds(466, 135, 43, 20);  
            caixa10.setBounds(519, 135, 141, 20);  
      
            rotulo11.setBounds(21, 166, 100, 20);  
            caixa11.setBounds(110, 166, 141, 20);  
      
            rotulo12.setBounds(261, 166, 100, 20);  
            caixa12.setBounds(352, 166, 308, 20);  
      
            rotulo13.setBounds(21, 197, 100, 20);  
            caixa13.setBounds(110, 197, 280, 20);  
      
            rotulo14.setBounds(415, 197, 100, 20);  
            caixa14.setBounds(460, 197, 200, 20);  
      
            rotulo15.setBounds(415, 73, 120, 20);  
            caixa15.setBounds(530, 73, 90, 20);  
      
            tela.add(rotulo1);  
            tela.add(caixa1);  
      
            tela.add(rotulo2);  
            tela.add(caixa2);  
      
            tela.add(botao1);  
            tela.add(botao2);  
            tela.add(botao3);  
            tela.add(botao4);  
            tela.add(botao5);  
            tela.add(botao6);  
      
            tela.add(rotulo3);  
            tela.add(caixa3);  
      
            tela.add(rotulo5);  
            tela.add(caixa5);  
      
            tela.add(rotulo6);  
            tela.add(caixa6);  
      
            tela.add(rotulo7);  
            tela.add(caixa7);  
      
            tela.add(rotulo8);  
            tela.add(caixa8);  
      
            tela.add(rotulo9);  
            tela.add(caixa9);  
      
            tela.add(rotulo10);  
            tela.add(caixa10);  
      
            tela.add(rotulo11);  
            tela.add(caixa11);  
      
            tela.add(rotulo12);  
            tela.add(caixa12);  
      
            tela.add(rotulo13);  
            tela.add(caixa13);  
      
            tela.add(rotulo14);  
            tela.add(caixa14);  
      
            tela.add(rotulo15);  
            tela.add(caixa15);  
              

    
            
            caixa1.addFocusListener(new FocusListener() {  
      
                public void focusGained(FocusEvent e) {  
                    // TODO Auto-generated method stub  
      
                }  
      
                // Ao perder o foco do caixa1 é executado este método  
                public void focusLost(FocusEvent e) {  
                    // TODO Auto-generated method stub  
      
                    if (!caixa1.getText().trim().equals("")) {  
                        // Se o campo conter um valor diferente de vazio  
      
                        Cliente objetoCliente = gerenciador.find(Cliente.class,Integer.parseInt(caixa1.getText()));  
      
                        if (objetoCliente != null) {  
                            //caixa2.setText(objetoCliente.getData().toString());  
                            caixa3.setText("" + objetoCliente.getNomeCompleto());  
                            caixa5.setText("" + objetoCliente.getEndereco());  
                            caixa6.setText("" + objetoCliente.getCpf());  
                            caixa7.setText("" + objetoCliente.getBairro());  
                            caixa8.setText("" + objetoCliente.getCidade());  
                            caixa9.setText("" + objetoCliente.getUf());  
                            caixa10.setText("" + objetoCliente.getCep());  
                            caixa11.setText("" + objetoCliente.getTelefone());  
                            caixa12.setText("" + objetoCliente.getComplemento());  
                            caixa13.setText("" + objetoCliente.getEmail());  
                            caixa14.setText("" + objetoCliente.getRg());  
                            caixa15.setText("" + objetoCliente.getDatadenascimento());  
                            botao1.setEnabled(false);  
                            JOptionPane.showMessageDialog(null,  
                                    "Cliente já cadastrado com este código!!!");  
      
                        } else {  
                            botao1.setEnabled(true);  
                            caixa2.setText("");  
                            caixa3.setText("");  
                            caixa5.setText("");  
                            caixa6.setText("");  
                            caixa7.setText("");  
                            caixa8.setText("");  
                            caixa9.setText("");  
                            caixa10.setText("");  
                            caixa11.setText("");  
                            caixa12.setText("");  
                            caixa13.setText("");  
                            caixa14.setText("");  
                            caixa15.setText("");  
                            JOptionPane.showMessageDialog(null,  
                                    "Código livre para cadastro!");  
                        }  
                    }  
                }  
      
            });  
            caixa2.addFocusListener(new FocusListener() {  
      
                public void focusGained(FocusEvent e) {  
                    caixa2.setText("");  
                }  
      
                public void focusLost(FocusEvent e) {  
                    // TODO Auto-generated method stub  
                }  
            });  
            caixa15.addFocusListener(new FocusListener() {  
      
                public void focusGained(FocusEvent e) {  
                    caixa15.setText("");  
                }  
      
                public void focusLost(FocusEvent e) {  
                    // TODO Auto-generated method stub  
                }  
            });  
      
            botao1.addActionListener(new ActionListener() {    
                public void actionPerformed(ActionEvent e1) {    
                    // Persistir dados    
                    // inclusão de um novo registro    
                    if (caixa1.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o código do cliente!");    
                        caixa1.requestFocus();    
                    } else if (caixa2.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null, "Informe a Data!");    
                        caixa2.requestFocus();    
                    } else if (caixa3.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Nome Completo do Cliente!");    
                        caixa3.requestFocus();    
        
                    } else if (caixa5.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Endereço do Cliente!");    
                        caixa5.requestFocus();    
        
                    } else if (caixa6.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Cpf do Cliente!");    
                        caixa6.requestFocus();    
        
                    } else if (caixa7.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Bairro do Cliente!");    
                        caixa7.requestFocus();    
        
                    } else if (caixa8.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe a Cidade do Cliente!");    
                        caixa8.requestFocus();    
        
                    } else if (caixa9.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe a Uf do Cliente!");    
                        caixa9.requestFocus();    
        
                    } else if (caixa10.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Cep do Cliente!");    
                        caixa10.requestFocus();    
        
                    } else if (caixa11.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Telefone do Cliente!");    
                        caixa11.requestFocus();    
        
                    } else if (caixa12.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Complemento!");    
                        caixa12.requestFocus();    
        
                    } else if (caixa13.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Email do Cliente!");    
                        caixa13.requestFocus();    
        
                    } else if (caixa14.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Rg do Cliente!");    
                        caixa14.requestFocus();    
        
                    } else if (caixa15.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe a Data de Nascimento do Cliente!");    
                        caixa15.requestFocus();    
        
                    } else {   
                       ManipulaData md = new ManipulaData(); 
                     java.sql.Date dataSql = null;         
                      java.sql.Date dataSql2 = null;      
                    try{
                     Date dataResgatada = md.stringToData(caixa2.getText());        
                     Date data2 = md.stringToData(caixa15.getText());        
                       dataResgatada = new java.sql.Date(dataResgatada.getTime());        
                        data2 = new java.sql.Date(data2.getTime());        
                       dataSql = (java.sql.Date) dataResgatada;        
                      dataSql2 = (java.sql.Date) data2;     
                        JOptionPane.showMessageDialog(null, "Data convertida com sucesso");         
                 //erro  } catch (ParseException e2) {         
                        e2.printStackTrace();        
                             JOptionPane.showMessageDialog(null, "Erro ao converte data para sql: " + ((Throwable) e2).getMessage());      
                    }

                } 
                    
                        Cliente objetoCliente = new Cliente();    
                        objetoCliente.setCodcliente(Integer.parseInt(caixa1.getText()));    
                        objetoCliente.setData((Date)caixa2.getValue());    
                        objetoCliente.setNomeCompleto(caixa3.getText());    
                        objetoCliente.setEndereco(caixa5.getText());    
                        objetoCliente.setCpf(Double.parseDouble(caixa6.getText()));    
                        objetoCliente.setBairro(caixa7.getText());    
                        objetoCliente.setCidade(caixa8.getText());    
                        objetoCliente.setUf(caixa9.getText());    
                        objetoCliente.setCep(Integer.parseInt(caixa10.getText()));    
                        objetoCliente.setTelefone(Integer.parseInt(caixa11.getText()));    
                        objetoCliente.setComplemento(caixa12.getText());    
                        objetoCliente.setEmail(caixa13.getText());    
                        objetoCliente.setRg(Double.parseDouble(caixa14.getText()));    
                        objetoCliente.setDatadenascimento((Date)caixa15.getValue());    
        
                        gerenciador.getTransaction().begin();    
                        gerenciador.persist(objetoCliente);    
                        gerenciador.getTransaction().commit();    
                        JOptionPane.showMessageDialog(null,    
                                "Cliente Incluído com Sucesso!");    
                        caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);    
                        caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);    
                        caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null); 
            
            }
            });    
      
            botao2.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {  
                    // fecha a janela  
                    Cliente c = new Cliente();  
                    c.setCodcliente(Integer.parseInt(caixa1.getText()));  
                    c.setData((Date)caixa2.getValue());  
                    c.setNomeCompleto(caixa3.getText());  
                    c.setEndereco(caixa5.getText());  
                    c.setCpf(Double.parseDouble(caixa6.getText()));  
                    c.setBairro(caixa7.getText());  
                    c.setCidade(caixa8.getText());  
                    c.setUf(caixa9.getText());  
                    c.setCep(Integer.parseInt(caixa10.getText()));  
                    c.setTelefone(Integer.parseInt(caixa11.getText()));  
                    c.setComplemento(caixa12.getText());  
                    c.setEmail(caixa13.getText());  
                    c.setRg(Double.parseDouble(caixa14.getText()));  
                    c.setDatadenascimento((Date)caixa15.getValue());  
      
                    gerenciador.getTransaction().begin();  
                    gerenciador.merge(c);  
                    gerenciador.getTransaction().commit();  
      
                    JOptionPane.showMessageDialog(null,  
                            "Registro Alterado Com Sucesso");  
                    caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);  
                    caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);  
                    caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);  
                }  
            });  
      
            botao3.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {  
                    // cria nova janela  
                    Cliente c = gerenciador.find(Cliente.class, Integer.parseInt(caixa1.getText()));  
      
                    gerenciador.getTransaction().begin();  
                    gerenciador.remove(c);  
                    gerenciador.getTransaction().commit();  
      
                    JOptionPane.showMessageDialog(null,  
                            "Registro Excluido Com Sucesso");  
      
                    caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);  
                    caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);  
                    caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);  
                }  
            });  
      
            botao4.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {  
                    // cria nova janela  
      
                    @SuppressWarnings("unused")  
                    //ListarCliente l = new ListarCliente(fabricaDeEntidades,gerenciador);  
                    ListarCliente list = new ListarCliente(fabricaDeEntidades, gerenciador);  
                }  
            });  
            botao5.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {  
                    // cria nova janela  
                    RelatorioCliente rep = new RelatorioCliente();  
                    JasperPrint relat;  
                    try {  
                        relat = rep.gerarRelatorioCliente();  
                        JasperViewer.viewReport(relat, false);  
                    } catch (Exception e1) {  
                        e1.printStackTrace();  
                    }  
                }  
            });  
      
            botao6.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {  
                    // cria nova janela  
                    dispose();  
                }  
            });  
            // setSize(largura, altura);  
            setSize(700, 397);  
            setVisible(true);  
            setLocationRelativeTo(null);  
        }  
      
        public static void main(String[] args) throws Exception {  
      
        fabricaDeEntidades = Persistence  
                .createEntityManagerFactory("TurmaN40PostgreSQL");  
    gerenciador = fabricaDeEntidades.createEntityManager();  
      
            JanelaCliente app = new JanelaCliente(fabricaDeEntidades, gerenciador);  
            app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
      
        }  
    }  

o que mais poderia acrescentar pra dar certo?

[quote=daniferreira]entendi agora so coloquei essas duas da uma olhada

[code] package Util;

import java.text.ParseException;  
import java.text.SimpleDateFormat;  
import java.util.Calendar;  
import java.util.Date;  
  
public class ManipulaData {  
      
    //pega a data atual  
    public String getData() {  
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
        return formatter.format(new java.util.Date());  
    }  
      
    //converte uma string para date  
    public java.util.Date stringToData(String data) {  
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");  
        java.util.Date dataUtil = null;  
        try {  
            dataUtil = df.parse(data);  
        } catch (ParseException ex) {  
        }  
        return dataUtil;  
    }  
      
    //converte data em String para Data em Long  
    public Long StringToLong(String data) {  
        String data_dia, data_mes, data_ano;  
  
        data_dia = data.substring(0, 2);  
        data_mes = data.substring(3, 5);  
        data_ano = data.substring(6, 10);  
  
        String formata = "";  
        formata += data_dia + data_mes + data_ano;  
        long data_format = Integer.parseInt(formata);  
        return data_format;  
    }  
      
    //Converte Date Para String  
    public String dataToString(java.util.Date data) {  
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
        return formatter.format(data);  
    }  
  
    //Converte Util para Sql  
    public java.sql.Date utilToSql(java.util.Date dataUtil) {  
        java.sql.Date dataSQL = new java.sql.Date(dataUtil.getTime());  
        return dataSQL;  
    }  
  
    //Converte Sql para Util  
    public java.util.Date sqlToUtil(java.sql.Date dataSQL) {  
        java.util.Date dataResgatada = new java.util.Date(dataSQL.getTime());  
        return dataResgatada;  
    }  
  
    //Converte a data que está no DB para String que sera mostrada no form  
    public String dbToForm(java.sql.Date dataSQL) {  
        java.util.Date dataUtil = sqlToUtil(dataSQL);  
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
        return formatter.format(dataUtil);  
    }  
  
    //converte a data que esta no form para ser gravada no DB  
    public java.sql.Date formToDb(String data) {  
        java.util.Date dataUtil = stringToData(data);  
        java.sql.Date dataSQL = utilToSql(dataUtil);  
        return dataSQL;  
    }  
      
    //calcula diferenças de dias entre uma data inicial e uma data final  
        public Long calcularDatas_Dia(String data_inicio, String data_final) throws ParseException {   
        Long resultado;  
        // Dando um exemplo: quantos dias se passam desde 07/09/1822 até 05/06/2006?    
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");  
        df.setLenient(false);    
        Date d1 = df.parse (data_inicio);    
  
        Date d2 = df.parse (data_final);    
         
        long dt = (d2.getTime() - d1.getTime()) + 3600000; // 1 hora para compensar horário de verão    
        resultado =  (dt / 86400000L); // passaram-se 67111 dias    
       return resultado;  
    }    
  
      
    //calcula difereça de meses entre uma data inicial e uma data final  
    public Double calcularDatas_Meses(String data_inicio, String data_final) throws ParseException {   
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");  
              
            Date dataInicio = df.parse(data_inicio);    
            Date dataFim = df.parse(data_final);        
            /*  
             * valor de um mes em milisegundos, sendo que os valores sao:  
             * 30 dias no mes, 24 horas no dia, 60 minutos por hora, 60 segundos por minuto e 1000 milisegundos    
             */    
            final double MES_EM_MILISEGUNDOS = 30.0 * 24.0 * 60.0 * 60.0 * 1000.0;    
            //final double MES_EM_MILISEGUNDOS = 2592000000.0;    
                
            double numeroDeMeses = (double)((dataFim.getTime() - dataInicio.getTime())/MES_EM_MILISEGUNDOS);    
      
            return numeroDeMeses;  
        }  
     //calcula difereça de anos entre uma data inicial e uma data final  
     public Integer calculaDatas_Anos(String data_inicio, String data_final) throws ParseException{  
         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");    
         Date data1 = df.parse(data_inicio);    
         Date data2 = df.parse(data_final);    
           
         Calendar cal1 = Calendar.getInstance();    
         Calendar cal2 = Calendar.getInstance();    
         cal1.setTime(data1);    
         cal2.setTime(data2);    
         int year1 = cal1.get(Calendar.YEAR);    
         int year2 = cal2.get(Calendar.YEAR);    
         int month1 = cal1.get(Calendar.MONTH);    
         int month2 = cal2.get(Calendar.MONTH);    
         int day1 = cal1.get(Calendar.DAY_OF_MONTH);    
         int day2 = cal2.get(Calendar.DAY_OF_MONTH);    
         int anos = year2 - year1;    
         if ( (month2 < month1)     
              || ( (month2 == month1) && (day2 < day1) ) ) {    
             anos -= 1;    
         }    
           
         return anos;  
     }  
} [/code]

classe do botao pra grava no banco porem ocorre um erro no catch

   import java.awt.Container;
import java.awt.event.*;  
import java.sql.PreparedStatement;
    import java.text.ParseException;  
    import java.text.SimpleDateFormat;  
    import java.util.Date;  
      
    import javax.persistence.EntityManager;  
    import javax.persistence.EntityManagerFactory;  
    import javax.persistence.Persistence;  
    import javax.swing.*;  
    import javax.swing.text.MaskFormatter;  
      
    import net.sf.jasperreports.engine.JasperPrint;  
    import net.sf.jasperreports.view.JasperViewer;  
     import Modelo.Cliente;  
import Util.ManipulaData;
    // Ctrl+Shift+F => Formata o código  
    // Ctrl+A e Ctrl+i => Formata a seleção  
      
    public class JanelaCliente extends JFrame {  
        private JLabel rotulo1, rotulo2, rotulo3, rotulo4, rotulo5, rotulo6,  
                rotulo7, rotulo8, rotulo9, rotulo10, rotulo11, rotulo12, rotulo13,  
                rotulo14, rotulo15;  
        private JTextField caixa1, caixa3, caixa4, caixa5, caixa6, caixa7,  
                caixa8, caixa9, caixa10, caixa11, caixa12, caixa13, caixa14  
                ;  
        JFormattedTextField caixa2,caixa15;  
        private JButton botao1, botao2, botao3, botao4, botao5, botao6;  
      
        private static EntityManagerFactory fabricaDeEntidades = null;  
      
        private static EntityManager gerenciador = null;  
        ImageIcon icone;  
        ImageIcon icone1;  
        ImageIcon icone2;  
        ImageIcon icone3;  
        ImageIcon icone4;  
        ImageIcon icone5;  
 
        public JanelaCliente(EntityManagerFactory fabricaDeEntidades2,  
                EntityManager gerenciador2) throws Exception {  
    
            super("Cliente");  
            Container tela = getContentPane();  
            icone = new ImageIcon("001.gif");  
            icone1 = new ImageIcon("005.gif");  
            icone2 = new ImageIcon("126.gif");  
            icone3 = new ImageIcon("041.gif");  
            icone4 = new ImageIcon("100.gif");  
            icone5 = new ImageIcon("004.gif");  
            botao1 = new JButton (icone);  
            botao2 = new JButton (icone1);  
            botao3 = new JButton (icone2);  
            botao4 = new JButton (icone3);  
            botao5 = new JButton (icone4);  
            botao6 = new JButton (icone5);  
      
            tela.setLayout(null);  
            fabricaDeEntidades = fabricaDeEntidades2;  
            gerenciador = gerenciador2;  
      
            rotulo1 = new JLabel("Codigo:");  
            rotulo2 = new JLabel("Data:");  
            rotulo3 = new JLabel("Nome:");  
            rotulo5 = new JLabel("Endereço:");  
            rotulo6 = new JLabel("Cpf:");  
            rotulo7 = new JLabel("Bairro:");  
            rotulo8 = new JLabel("Cidade:");  
            rotulo9 = new JLabel("Uf:");  
            rotulo10 = new JLabel("Cep:");  
            rotulo11 = new JLabel("Telefone:");  
            rotulo12 = new JLabel("Complemento:");  
            rotulo13 = new JLabel("Email:");  
            rotulo14 = new JLabel("Rg:");  
            rotulo15 = new JLabel("Dta de Nascimento:");  
      
            MaskFormatter formater = new MaskFormatter();   
            formater.setMask("##-##-####");  
              
            MaskFormatter formater2 = new MaskFormatter();   
            formater2.setMask("##-##-####");  
              
            caixa1 = new JTextField();  
            caixa2 = new JFormattedTextField();  
            formater.install(caixa2);  
            caixa3 = new JTextField();  
            caixa5 = new JTextField();  
            caixa6 = new JTextField();  
            caixa7 = new JTextField();  
            caixa8 = new JTextField();  
            caixa9 = new JTextField();  
            caixa10 = new JTextField();  
            caixa11 = new JTextField();  
            caixa12 = new JTextField();  
            caixa13 = new JTextField();  
            caixa14 = new JTextField();  
            caixa15 = new JFormattedTextField();  
            formater2.install(caixa15);  
      
            //botao1 = new JButton("Incluir");  
            //botao2 = new JButton("Alterar");  
            //botao3 = new JButton("Excluir");  
            //botao4 = new JButton("Listar Clientes");  
            //botao5 = new JButton("Gerar Relatório");  
            //botao6 = new JButton("Fechar");  
      
            // coluna, linha, largura, altura  
            rotulo1.setBounds(21, 11, 43, 20);  
            caixa1.setBounds(110, 11, 50, 20);  
      
            botao1.setBounds(20, 279, 100, 20);  
            botao2.setBounds(130, 279, 100, 20);  
            botao3.setBounds(240, 279, 100, 20);  
            botao4.setBounds(350, 279, 150, 20);  
            botao5.setBounds(510, 279, 150, 20);  
            botao6.setBounds(510, 310, 150, 20);  
      
            rotulo2.setBounds(170, 11, 100, 20);  
            caixa2.setBounds(220, 11, 90, 20);  
      
            rotulo3.setBounds(21, 42, 100, 20);  
            caixa3.setBounds(110, 42, 550, 20);  
      
      
            rotulo5.setBounds(21, 73, 100, 20);  
            caixa5.setBounds(110, 73, 300, 20);  
      
            rotulo6.setBounds(21, 104, 100, 20);  
            caixa6.setBounds(110, 104, 150, 20);  
      
            rotulo7.setBounds(270, 104, 100, 20);  
            caixa7.setBounds(330, 104, 330, 20);  
      
            rotulo8.setBounds(21, 135, 100, 20);  
            caixa8.setBounds(110, 135, 236, 20);  
      
            rotulo9.setBounds(358, 135, 32, 20);  
            caixa9.setBounds(400, 135, 50, 20);  
      
            rotulo10.setBounds(466, 135, 43, 20);  
            caixa10.setBounds(519, 135, 141, 20);  
      
            rotulo11.setBounds(21, 166, 100, 20);  
            caixa11.setBounds(110, 166, 141, 20);  
      
            rotulo12.setBounds(261, 166, 100, 20);  
            caixa12.setBounds(352, 166, 308, 20);  
      
            rotulo13.setBounds(21, 197, 100, 20);  
            caixa13.setBounds(110, 197, 280, 20);  
      
            rotulo14.setBounds(415, 197, 100, 20);  
            caixa14.setBounds(460, 197, 200, 20);  
      
            rotulo15.setBounds(415, 73, 120, 20);  
            caixa15.setBounds(530, 73, 90, 20);  
      
            tela.add(rotulo1);  
            tela.add(caixa1);  
      
            tela.add(rotulo2);  
            tela.add(caixa2);  
      
            tela.add(botao1);  
            tela.add(botao2);  
            tela.add(botao3);  
            tela.add(botao4);  
            tela.add(botao5);  
            tela.add(botao6);  
      
            tela.add(rotulo3);  
            tela.add(caixa3);  
      
            tela.add(rotulo5);  
            tela.add(caixa5);  
      
            tela.add(rotulo6);  
            tela.add(caixa6);  
      
            tela.add(rotulo7);  
            tela.add(caixa7);  
      
            tela.add(rotulo8);  
            tela.add(caixa8);  
      
            tela.add(rotulo9);  
            tela.add(caixa9);  
      
            tela.add(rotulo10);  
            tela.add(caixa10);  
      
            tela.add(rotulo11);  
            tela.add(caixa11);  
      
            tela.add(rotulo12);  
            tela.add(caixa12);  
      
            tela.add(rotulo13);  
            tela.add(caixa13);  
      
            tela.add(rotulo14);  
            tela.add(caixa14);  
      
            tela.add(rotulo15);  
            tela.add(caixa15);  
              

    
            
            caixa1.addFocusListener(new FocusListener() {  
      
                public void focusGained(FocusEvent e) {  
                    // TODO Auto-generated method stub  
      
                }  
      
                // Ao perder o foco do caixa1 é executado este método  
                public void focusLost(FocusEvent e) {  
                    // TODO Auto-generated method stub  
      
                    if (!caixa1.getText().trim().equals("")) {  
                        // Se o campo conter um valor diferente de vazio  
      
                        Cliente objetoCliente = gerenciador.find(Cliente.class,Integer.parseInt(caixa1.getText()));  
      
                        if (objetoCliente != null) {  
                            //caixa2.setText(objetoCliente.getData().toString());  
                            caixa3.setText("" + objetoCliente.getNomeCompleto());  
                            caixa5.setText("" + objetoCliente.getEndereco());  
                            caixa6.setText("" + objetoCliente.getCpf());  
                            caixa7.setText("" + objetoCliente.getBairro());  
                            caixa8.setText("" + objetoCliente.getCidade());  
                            caixa9.setText("" + objetoCliente.getUf());  
                            caixa10.setText("" + objetoCliente.getCep());  
                            caixa11.setText("" + objetoCliente.getTelefone());  
                            caixa12.setText("" + objetoCliente.getComplemento());  
                            caixa13.setText("" + objetoCliente.getEmail());  
                            caixa14.setText("" + objetoCliente.getRg());  
                            caixa15.setText("" + objetoCliente.getDatadenascimento());  
                            botao1.setEnabled(false);  
                            JOptionPane.showMessageDialog(null,  
                                    "Cliente já cadastrado com este código!!!");  
      
                        } else {  
                            botao1.setEnabled(true);  
                            caixa2.setText("");  
                            caixa3.setText("");  
                            caixa5.setText("");  
                            caixa6.setText("");  
                            caixa7.setText("");  
                            caixa8.setText("");  
                            caixa9.setText("");  
                            caixa10.setText("");  
                            caixa11.setText("");  
                            caixa12.setText("");  
                            caixa13.setText("");  
                            caixa14.setText("");  
                            caixa15.setText("");  
                            JOptionPane.showMessageDialog(null,  
                                    "Código livre para cadastro!");  
                        }  
                    }  
                }  
      
            });  
            caixa2.addFocusListener(new FocusListener() {  
      
                public void focusGained(FocusEvent e) {  
                    caixa2.setText("");  
                }  
      
                public void focusLost(FocusEvent e) {  
                    // TODO Auto-generated method stub  
                }  
            });  
            caixa15.addFocusListener(new FocusListener() {  
      
                public void focusGained(FocusEvent e) {  
                    caixa15.setText("");  
                }  
      
                public void focusLost(FocusEvent e) {  
                    // TODO Auto-generated method stub  
                }  
            });  
      
            botao1.addActionListener(new ActionListener() {    
                public void actionPerformed(ActionEvent e1) {    
                    // Persistir dados    
                    // inclusão de um novo registro    
                    if (caixa1.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o código do cliente!");    
                        caixa1.requestFocus();    
                    } else if (caixa2.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null, "Informe a Data!");    
                        caixa2.requestFocus();    
                    } else if (caixa3.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Nome Completo do Cliente!");    
                        caixa3.requestFocus();    
        
                    } else if (caixa5.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Endereço do Cliente!");    
                        caixa5.requestFocus();    
        
                    } else if (caixa6.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Cpf do Cliente!");    
                        caixa6.requestFocus();    
        
                    } else if (caixa7.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Bairro do Cliente!");    
                        caixa7.requestFocus();    
        
                    } else if (caixa8.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe a Cidade do Cliente!");    
                        caixa8.requestFocus();    
        
                    } else if (caixa9.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe a Uf do Cliente!");    
                        caixa9.requestFocus();    
        
                    } else if (caixa10.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Cep do Cliente!");    
                        caixa10.requestFocus();    
        
                    } else if (caixa11.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Telefone do Cliente!");    
                        caixa11.requestFocus();    
        
                    } else if (caixa12.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Complemento!");    
                        caixa12.requestFocus();    
        
                    } else if (caixa13.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Email do Cliente!");    
                        caixa13.requestFocus();    
        
                    } else if (caixa14.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe o Rg do Cliente!");    
                        caixa14.requestFocus();    
        
                    } else if (caixa15.getText().trim().equals("")) {    
                        JOptionPane.showMessageDialog(null,    
                                "Informe a Data de Nascimento do Cliente!");    
                        caixa15.requestFocus();    
        
                    } else {   
                       ManipulaData md = new ManipulaData(); 
                     java.sql.Date dataSql = null;         
                      java.sql.Date dataSql2 = null;      
                    try{
                     Date dataResgatada = md.stringToData(caixa2.getText());        
                     Date data2 = md.stringToData(caixa15.getText());        
                       dataResgatada = new java.sql.Date(dataResgatada.getTime());        
                        data2 = new java.sql.Date(data2.getTime());        
                       dataSql = (java.sql.Date) dataResgatada;        
                      dataSql2 = (java.sql.Date) data2;     
                        JOptionPane.showMessageDialog(null, "Data convertida com sucesso");         
                 //erro  } catch (ParseException e2) {         
                        e2.printStackTrace();        
                             JOptionPane.showMessageDialog(null, "Erro ao converte data para sql: " + ((Throwable) e2).getMessage());      
                    }

                } 
                    
                        Cliente objetoCliente = new Cliente();    
                        objetoCliente.setCodcliente(Integer.parseInt(caixa1.getText()));    
                        objetoCliente.setData((Date)caixa2.getValue());    
                        objetoCliente.setNomeCompleto(caixa3.getText());    
                        objetoCliente.setEndereco(caixa5.getText());    
                        objetoCliente.setCpf(Double.parseDouble(caixa6.getText()));    
                        objetoCliente.setBairro(caixa7.getText());    
                        objetoCliente.setCidade(caixa8.getText());    
                        objetoCliente.setUf(caixa9.getText());    
                        objetoCliente.setCep(Integer.parseInt(caixa10.getText()));    
                        objetoCliente.setTelefone(Integer.parseInt(caixa11.getText()));    
                        objetoCliente.setComplemento(caixa12.getText());    
                        objetoCliente.setEmail(caixa13.getText());    
                        objetoCliente.setRg(Double.parseDouble(caixa14.getText()));    
                        objetoCliente.setDatadenascimento((Date)caixa15.getValue());    
        
                        gerenciador.getTransaction().begin();    
                        gerenciador.persist(objetoCliente);    
                        gerenciador.getTransaction().commit();    
                        JOptionPane.showMessageDialog(null,    
                                "Cliente Incluído com Sucesso!");    
                        caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);    
                        caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);    
                        caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null); 
            
            }
            });    
      
            botao2.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {  
                    // fecha a janela  
                    Cliente c = new Cliente();  
                    c.setCodcliente(Integer.parseInt(caixa1.getText()));  
                    c.setData((Date)caixa2.getValue());  
                    c.setNomeCompleto(caixa3.getText());  
                    c.setEndereco(caixa5.getText());  
                    c.setCpf(Double.parseDouble(caixa6.getText()));  
                    c.setBairro(caixa7.getText());  
                    c.setCidade(caixa8.getText());  
                    c.setUf(caixa9.getText());  
                    c.setCep(Integer.parseInt(caixa10.getText()));  
                    c.setTelefone(Integer.parseInt(caixa11.getText()));  
                    c.setComplemento(caixa12.getText());  
                    c.setEmail(caixa13.getText());  
                    c.setRg(Double.parseDouble(caixa14.getText()));  
                    c.setDatadenascimento((Date)caixa15.getValue());  
      
                    gerenciador.getTransaction().begin();  
                    gerenciador.merge(c);  
                    gerenciador.getTransaction().commit();  
      
                    JOptionPane.showMessageDialog(null,  
                            "Registro Alterado Com Sucesso");  
                    caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);  
                    caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);  
                    caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);  
                }  
            });  
      
            botao3.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {  
                    // cria nova janela  
                    Cliente c = gerenciador.find(Cliente.class, Integer.parseInt(caixa1.getText()));  
      
                    gerenciador.getTransaction().begin();  
                    gerenciador.remove(c);  
                    gerenciador.getTransaction().commit();  
      
                    JOptionPane.showMessageDialog(null,  
                            "Registro Excluido Com Sucesso");  
      
                    caixa1.setText(null);caixa2.setText(null); caixa3.setText(null);caixa5.setText(null);  
                    caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);  
                    caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);caixa15.setText(null);  
                }  
            });  
      
            botao4.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {  
                    // cria nova janela  
      
                    @SuppressWarnings("unused")  
                    //ListarCliente l = new ListarCliente(fabricaDeEntidades,gerenciador);  
                    ListarCliente list = new ListarCliente(fabricaDeEntidades, gerenciador);  
                }  
            });  
            botao5.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {  
                    // cria nova janela  
                    RelatorioCliente rep = new RelatorioCliente();  
                    JasperPrint relat;  
                    try {  
                        relat = rep.gerarRelatorioCliente();  
                        JasperViewer.viewReport(relat, false);  
                    } catch (Exception e1) {  
                        e1.printStackTrace();  
                    }  
                }  
            });  
      
            botao6.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {  
                    // cria nova janela  
                    dispose();  
                }  
            });  
            // setSize(largura, altura);  
            setSize(700, 397);  
            setVisible(true);  
            setLocationRelativeTo(null);  
        }  
      
        public static void main(String[] args) throws Exception {  
      
        fabricaDeEntidades = Persistence  
                .createEntityManagerFactory("TurmaN40PostgreSQL");  
    gerenciador = fabricaDeEntidades.createEntityManager();  
      
            JanelaCliente app = new JanelaCliente(fabricaDeEntidades, gerenciador);  
            app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
      
        }  
    }  

[/quote]