Passar parametros para o irreport

oi estou tendo um problema para passar um parametro para o irreoport me codigo vem abaixo

public JasperPrint gerar() { JasperPrint rel = null; try { HashMap map = new HashMap(); String arquivoJasper = "relatorio.jasper"; rel = JasperFillManager.fillReport(arquivoJasper,map,conexao); } catch (JRException e) { System.out.println(e.getMessage()); } return rel; }

eu sei que eu tenho que passar os parametro pelo hashmap
map.put(1,acichele)

so não entendo como eu faço para manipular isso no irreport ja temtei algumas coisas e não deu certo alguem poderia me ajudar

no campo texto no ireport se faz assim (não precisa ser só em campo texto, pode usar ele em teste condicionas e em qualquer outro lugar onde você pode usar um field)

$P{NomeDoParametro}

e pronto.

no hasmap que você passo tem que ter algo do tipo

HashMap hm = new HashMap();
hm.put("NomeDoParametro", "valorDoParametro");

Ah você vai precisar criar ele lá no menu onde tem criação de fields/variaveis/parametro.

seguindo meu exemplo se cria um parametro com nome “NomeDoParametro” do tipo String.

como eu testo um parametro de data dentro do irreport
exemplo: eu quero todos os dados do dia 10 ao dia 30 de março