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! 
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.
