Vou postar novamente os codigos aqui pra vcs verem como estao
Classe Relatorio Cliente
[code]import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import Modelo.Cliente;
public class RelatorioCliente
{
Connection con;
private String converteData(Calendar data) {
// TODO Auto-generated method stub
return new SimpleDateFormat("yyyy-MM-dd").format(new Date().getTime());
}
private static EntityManagerFactory fabricaDeEntidades = null;
private static EntityManager gerenciador = null;
public JasperPrint gerarRelatorioCliente()
throws Exception
{
JasperPrint rel=null;
String url = "jdbc:postgresql://localhost:5432/TurmaN40";
try {
Class.forName("org.postgresql.Driver");
} catch(java.lang.ClassNotFoundException e1) {
System.err.print("ClassNotFoundException: ");
System.err.println(e1.getMessage());
}
try {
con = DriverManager.getConnection(url,"postgres", "postgres");
} catch(SQLException ex) {
System.err.print("SQLException: ");
System.err.println(ex.getMessage());
}
try { // Connection con = Conexao.criaConexao();
HashMap map= new HashMap();
Cliente sb = new Cliente();
map.put("data", converteData(sb.getData()));
System.out.println("imprimi data"+map);
String arquivoJasper= "C:\\vidracaria\\RelatorioCliente.jasper";
rel=JasperFillManager.fillReport(arquivoJasper,map,con);
con.close();
}
catch (JRException e)
{ e.printStackTrace();
}
return rel;
}[/code]
to postando a classe do filtro do relatorio o botao 1 é o que chama o relatorio
[code]import java.awt.*;
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 datechooser.beans.DateChooserCombo;
//import org.eclipse.nebula.widgets.datechooser.DateChooserCombo;
import Modelo.Cliente;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
//import controle.Utilitarios;
// Ctrl+Shift+F => Formata o código
// Ctrl+A e Ctrl+i => Formata a seleção
public class FiltroCliente extends JFrame {
private JLabel rotulo1;
private JTextField caixa1;
private JButton botao1;
DateChooserCombo b = new DateChooserCombo();
private static EntityManagerFactory fabricaDeEntidades = null;
private static EntityManager gerenciador = null;
Cliente objetoCliente;
ImageIcon icone;
public FiltroCliente(EntityManagerFactory fabricaDeEntidades2, EntityManager gerenciador2) throws ParseException {
super("Relatório Cliente");
Container tela = getContentPane();
icone = new ImageIcon("100.gif");
botao1 = new JButton (icone);
tela.setLayout(null);
fabricaDeEntidades=fabricaDeEntidades2;
gerenciador=gerenciador2;
rotulo1 = new JLabel("Data:");
b = new DateChooserCombo();
//botao1 = new JButton("Gerar Relatório");
// coluna, linha, largura, altura
rotulo1.setBounds(24, 19, 56, 20);
b.setBounds(75, 19, 100, 20);
botao1.setBounds(54, 60, 100, 20);
//rotulo2.setBounds(24, 50, 100, 20);
//caixa2.setBounds(75, 50, 100, 20);
tela.add(rotulo1);
tela.add(b);
//tela.add(rotulo2);
//tela.add(caixa2);
tela.add(botao1);
botao1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
RelatorioCliente rep = new RelatorioCliente();
JasperPrint relat;
Cliente f = new Cliente();
try {
f.setData(b.getSelectedDate());
relat = rep.gerarRelatorioCliente();
JasperViewer.viewReport(relat, false);
} catch (Exception e1) {
e1.printStackTrace();
}
//
}
});
// setSize(largura, altura);
setSize(250, 150);
setVisible(true);
setLocationRelativeTo(null);
}
public static void main(String[] args) throws ParseException {
fabricaDeEntidades = Persistence
.createEntityManagerFactory("TurmaN40PostgreSQL");
gerenciador = fabricaDeEntidades.createEntityManager();
FiltroCliente app = new FiltroCliente(fabricaDeEntidades, gerenciador);
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
[/code]
meus getters e setters da tabela cliente que cria a tabela no banco
[code]package Modelo;
import java.util.Calendar;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import datechooser.beans.DateChooserCombo;
@Entity
public class Cliente {
@Id
private int codcliente;
@Temporal(TemporalType.DATE)
private Calendar data;
private String NomeCompleto;
private String endereco;
private String Bairro;
private String Cidade;
private String uf;
private int cep;
private int telefone;
private String complemento;
private String email;
private String rg;
private String cpf;
@Temporal(TemporalType.DATE)
private Calendar datadenascimento;
public String getBairro() {
return Bairro;
}
public void setBairro(String bairro) {
Bairro = bairro;
}
public int getCep() {
return cep;
}
public void setCep(int cep) {
this.cep = cep;
}
public String getCidade() {
return Cidade;
}
public void setCidade(String cidade) {
Cidade = cidade;
}
public int getCodcliente() {
return codcliente;
}
public void setCodcliente(int codcliente) {
this.codcliente = codcliente;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getNomeCompleto() {
return NomeCompleto;
}
public void setNomeCompleto(String nomeCompleto) {
NomeCompleto = nomeCompleto;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public int getTelefone() {
return telefone;
}
public void setTelefone(int telefone) {
this.telefone = telefone;
}
public String getUf() {
return uf;
}
public void setUf(String uf) {
this.uf = uf;
}
public Calendar getData() {
return data;
}
public void setData(Calendar data) {
this.data = data;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public Calendar getDatadenascimento() {
return datadenascimento;
}
public void setDatadenascimento(Calendar datadenascimento) {
this.datadenascimento = datadenascimento;
}
}
[/code]
e por ultimo a query que esta no relatorio
select * from Date(data) = Date($P{data}
o erro que apresenta ao clicar no botao1 do filtro cliente
net.sf.jasperreports.engine.JRException: Incompatible java.lang.String value assigned to parameter data in the RelatorioCliente dataset.
at net.sf.jasperreports.engine.fill.JRFillDataset.setParameter(JRFillDataset.java:895)
at net.sf.jasperreports.engine.fill.JRFillDataset.setFillParameterValues(JRFillDataset.java:652)
at net.sf.jasperreports.engine.fill.JRFillDataset.setParameterValues(JRFillDataset.java:603)
at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:891)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:716)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:669)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:234)
at RelatorioCliente.gerarRelatorioCliente(RelatorioCliente.java:58)
at FiltroCliente$1.actionPerformed(FiltroCliente.java:83)
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)