Então brother, debuga aí se a imagem é encontrada com as funções “file/exists” quando vai executar, tem que ir passo a passo até achar onde que está o erro, estou meio sem tempo e vou tentar te ajudar o máximo no que posso
Outra coisa diferente que esta no meu projeto, não tenho certeza quanto a utilização disto com parametros pois fiz com jrdatasource onde passo a query atraves de um array no java (era necessario para mim pois precisava de uns calculos, codigo de barras e tal)
Vou te passar meu código (as partes essenciais dele), tenho até intenção divulgar ao publico algum dia por não ter no mercado ainda boletos com ireport, porém tenho que terminar antes…
onde está o path da imagem, atenção pois aqui é o caminho relativo pois esta dentro dos pacotes
[code]import java.net.URL;
public class Resource {
private static Resource resources;
//
public URL IMAGE_AMPARA;
public URL IMAGE_MULTICAR;
public URL IMAGE_CAIXA;
public Resource() {
IMAGE_AMPARA = getClass().getResource("/com/djar/boleto/resources/ampara.jpg");[/code]
onde declaro o objeto que vai conter a imagem
[code]import java.awt.Image;
public class Cedente {
public Image logo;
[/code]
onde instancio a imagem instancio a imagem para a variável
onde mando imprimir o relatório
[code] // gera o pdf do relatório
InputStream relatorio = null;
if (metodoImpressao == Impressao.FULLPAGE) {
relatorio = getClass().getResourceAsStream("/com/djar/boleto/relatorios/fullpage.jasper");
System.out.println("fullpage");
} else if (metodoImpressao == Impressao.COMPACT) {
relatorio = getClass().getResourceAsStream("/com/djar/boleto/relatorios/compact.jasper");
} else if (metodoImpressao == Impressao.CARNE3PORPAG) {
relatorio = getClass().getResourceAsStream("/com/djar/boleto/relatorios/carne3porpag.jasper");
} else {
System.out.println("Tipo do documento a imprimir não é válido!");
System.exit(1);
}
String outFileName = arquivo;
HashMap parametros = new HashMap();
JRBeanCollectionDataSource datasource = new JRBeanCollectionDataSource(impressoes);
try {
JasperPrint print = JasperFillManager.fillReport(relatorio, parametros, datasource);
JRExporter exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outFileName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
exporter.exportReport();
System.out.println("relatório criado: " + outFileName);
} catch (JRException e) {
e.printStackTrace();
System.exit(1);
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
[/code]
no ireport os fields (nao sao mais parametros pois eu passo todos meus dados via array como é dito no tópico, nem existe consulta sql lá)
<field name="codigobarras" class="java.awt.Image"/>
<field name="logobanco" class="java.awt.Image"/>
<field name="logoempresa" class="java.awt.Image"/>
onde imprime
<image hAlign="Center" vAlign="Bottom">
<reportElement uuid="69a74ae7-b660-40b2-b351-8d2d8e8ffc54" mode="Opaque" x="3" y="3" width="152" height="38" forecolor="#FFFFFF"/>
<imageExpression><![CDATA[$F{logoempresa}]]></imageExpression>
</image>