Bom Dia
Da uma Olhada nesse tutorial aqui [url]http://davidbuzatto.com.br/2010/10/09/jasperreports-trabalhando-com-relatorios-em-java-parte-1/[/url]
Achei bem robusto, pra passar é só declarar umas variaveis locais mesmo e passar, olha um exemplo de um metodo que fiz
Primeiro coloquei essa action no Botão
String nomeS = (String) nomeClienteField.getText();
String ruaS = (String) ruaField.getText();
String numS = (String) numeroField.getText();
String cpfs = (String) cpftf.getText();
String cnpfs = (String) cnpjtf.getText();
String valors = (String) valorLocacaoField.getText();
String datas = (String) datatf.getText();
String bairros = (String) bairroClienteff.getText();
String detalhe = (String) jTextArea1.getText();
if ("".equals(nomeS)) {
JOptionPane.showMessageDialog(null, " Selecione algum cliente antes de Imprimir o Recibo!! \n Cancele a impressão e reinicie o processo. \n O Sistema vai ser fechado!",
"Nenhuma Locação selecionada ", JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
ImprimirreciboCliente(nomeS, ruaS, numS, cpfs, cnpfs, valors, datas,bairros,detalhe);
esse é o Método
public void ImprimirreciboCliente(String nomeS, String ruaS, String numS,
String cpfs, String cnpfs, String valors, String datas, String bairros, String detalhe) {
InputStream inputStream;
inputStream = getClass().getResourceAsStream("recibocliente.jasper");//recibocliente.jaspe
// mapa de parâmetros do relatório (ainda vamos aprender a usar)
Map parametros = new HashMap();
parametros.put("nomecliente", nomeS);
parametros.put("valorcliente", valors);
parametros.put("cpfcliente", cpfs);
parametros.put("cnpjCliente", cnpfs);
parametros.put("datalocacao", datas);
parametros.put("ruacliente", ruaS);
parametros.put("numerocliente",numS);
parametros.put("bairrocliente",bairros);
parametros.put("detalhe",detalhe);
try {
// abre o relatório
ReportUtils.openReport("Recibo", inputStream, parametros,
ConnectionFactory.getSakilaConnection());
} catch (SQLException | JRException exc) {
exc.printStackTrace();
}
}
espero ter ajudado.. vlw