Alguem pode me informar se este filtro de relatorio esta correto?

alguem pode me informar se este filtro de relatorio esta correto?

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

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

import Modelo.Cliente;
import Modelo.Compra;
import Modelo.Conta;

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;

private static EntityManagerFactory fabricaDeEntidades = null;   

private static EntityManager gerenciador = null;   
Cliente objetoCliente;   
ImageIcon icone;   
public FiltroCliente(EntityManagerFactory fabricaDeEntidades2, EntityManager gerenciador2) {   
    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:");   
   
    caixa1 = new JTextField();   
       
    //botao1 = new JButton("Gerar Relatório");   
   

    // coluna, linha, largura, altura   
    rotulo1.setBounds(24, 19, 56, 20);   
    caixa1.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(caixa1);   

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

    tela.add(botao1);   
   

    botao1.addActionListener(new ActionListener() {   
           
        public void actionPerformed(ActionEvent e) {   
            RelatorioCliente rep = new RelatorioCliente();   
            objetoCliente =   
                (Cliente) gerenciador.createQuery(     
                "from Cliente pr WHERE pr.Data = $P{Data}").setParameter("Data", caixa1.getText()).getSingleResult(); 
            JasperPrint relat;   
            try {   
                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) {   

    fabricaDeEntidades = Persistence   
            .createEntityManagerFactory("TurmaN40PostgreSQL");   

    gerenciador = fabricaDeEntidades.createEntityManager();   

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

}   

} [/code]