Chamar relatório no Irepot usando parâmetros digitado pelo usuário (RESOLVIDO)

A minha dúvida é a seguinte: Como fazer para gerar um relatório cujo os parâmetros são passado pelo usuário usando dois jFormattedTextField, pois é um relatório de data inicial e final.
e o código abaixo somente abre o relatório caso eu coloque o parâmetro fixo no código fonte.

Eu executo o comando SQL pela aplicação e passo o ResultSet para o Jasper.

Segue um código que tenho aqui para exemplificar. Espero que ajude! :slight_smile:

    public void RelatorioPedido(String pTipoDADO, String pDado1, String pDado2, String pSituacao) {
        //pTipoDADO -> "DATAPEDIDO", "DATAENTREGA" ou "CODIGOPED"
        this.NomeRelatorioJasper = "Relatorios/RelatorioMensalPedidos";
        this.vQuery = "select DATAPEDIDO, CODIGOPED, CF.NOMECLIFORN, DATAPEDIDO, DATAENTREGA, TOTALPEDIDO, "
                + "extract(month from DATAPEDIDO) as MES, extract(year from DATAPEDIDO) as ANO "
                + "from PEDIDO P, CLIFORN CF "
                + "where CF.CODIGOCLIFORN = P.CODIGOCLI and " + pTipoDADO + " ";

        if (pTipoDADO.equals("CODIGOPED")) {
            this.vQuery += "between " + pDado1 + " and " + pDado2 + " ";
        } else {
            this.vQuery += "between '" + pDado1 + "' and '" + pDado2 + "' ";
        }

        if (pSituacao.equals("EM ABERTO")) {
            this.vQuery += "and CODIGOENTREGA=-1";
        } else if (pSituacao.equals("FATURADO")) {
            this.vQuery += "and CODIGOENTREGA>0";
        }

        this.vQuery += " order by ANO, MES";

        try {
            this.GeraRelt.GeraRelatorio(this.vQuery, this.NomeRelatorioJasper);
        } catch (SQLException ex) {
            Logger.getLogger(CRelatorioSQL.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void GeraRelatorio(String pQuery, String pNomeRelatorio) throws SQLException {
        Connection con = FabricaConexao.getInstance().getConexao();
        Statement stm = con.createStatement();

        ResultSet objResultSet = stm.executeQuery(pQuery);

        /* implementação da interface JRDataSource para DataSource ResultSet */
        JRResultSetDataSource jrRS = new JRResultSetDataSource(objResultSet);
        /* HashMap de parametros utilizados no relatório. Sempre instanciados */
        Map parameters = new HashMap();
        //parameters.put("COLUNA", new Data());
        try {
            /* Preenche o relatório com os dados. Gera o arquivo RelatorioPedido.jrprint */
            //JasperFillManager.fillReportToFile(pNomeRelatorio+".jasper", parameters, jrRS);//aqui ira gerar um arquivo .print
            JasperPrint fillReport = JasperFillManager.fillReport(pNomeRelatorio + ".jasper", parameters, jrRS);
            //JasperPrint fillReport = JasperFillManager.fillReport
            //JasperFillManager.fillReport(pNomeRelatorio+".jasper", parameters, jrRS);
            //JasperFillManager.fillReport(pNomeRelatorio+".jasper", parameters, con);

            //Visualiza um documento JASPER //Comentar estas 2 linhas se o relatório for chamado na linha onde gera o .print
            JasperViewer jv = new JasperViewer(fillReport, false);
            jv.setVisible(true);

            /* Exporta para o formato PDF */
            //JasperExportManager.exportReportToPdfFile("RelatorioPedido.jrprint");

            /* Preenche o relatorio e o salva diretamente em arquivo PDF. Sem
            a necessidade do .jrprint */
            // JasperRunManager.runReportToPdfFile("RelatorioPedido.jasper", parameters, jrRS);

            /* Visualiza o relatório em formato PDF */
            //JasperViewer.viewReport("RelatorioPedido.pdf", false);
            //JasperViewer.viewReport(pNomeRelatorio+".jrprint", false, false);//Essa linha deve ser descomentada se o .jrprint for gerado.

        } catch (JRException ex) {
            Logger.getLogger(GeradorRelatorio.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

valeu a dica tsartori, eu resolvi esse problema usando um componente de datas. logo enviou o código da solução.