Dúvida IReport

Galera estou desenvolvendo um relatório no IReport e neste devem aparecer duas figuras.
Estou mandando ele buscar estas num diretorio na raiz do pc.
Quando eu mando executar dentro do IReport as duas figuras aparecem beleza.

Mas quando eu mando executar pela minha app. nenhuma das duas aparecem…
alguem sabe o que poode ser?

meu código é:

 this.GeraCodigoBarras(nfe.getNt().getChNfe());//Este método é responsavel por gerar a imagem
///já fiz os testes com ele e a imagem esta sendo gerada perfeitamente.

        String caminhoRelJasper = "/Danfe1.jasper";

            List<Modelo> list = null;
            Modelo da = new Modelo(nfe);

            list=new ArrayList<Modelo>();
            list.add(da);
              
                InputStream relJasper = getClass().getResourceAsStream(caminhoRelJasper);
                JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
                Map map = new HashMap();
                map.put("pathSubRel", caminhoRelJasper);
                JasperPrint impressao = JasperFillManager.fillReport(relJasper, map, ds);
                    JasperViewer viewer = new JasperViewer(impressao, false);
                    viewer.setDefaultCloseOperation(JasperViewer.HIDE_ON_CLOSE);
                    viewer.setTitle("Faturamento");
                    viewer.setVisible(true);

O IReport deverá pegar a imagem gerada e colocar no relatorio.
Porem nela so aparece o espaço em branco…

Conto com vcs!!

Olá.

Você pode enviar o código do arquivo jrxml?

claro wellington!

Olá Igor.

Difícil entender o que está acontecendo. Somente depurando o código.

Qual a definição da classe Modelo?

Fiz um teste aqui, e aí vai minha sugestão:

Pelo que entendi vc esta usando uma variavel chamada barras, ao inves de um Object, configure seu tipo para java.awt.Image

Finalmente antes da exibição do relatório, ou seja no processamento do mesmo faça o carregamento da imagem, dessa forma ele pode estar tanto embutida em um .jar ou ainda como recurso externo (DB ou filesystem)

Se precisar de um sample, eu te passo!

[]s

Opa Cristian!
Quero sim…
Eu consegui dar um passo setando a imagem em no diretorio raiz do pc.
Ou seja, meu programa vai no c:/ e cria um arquivo de imagem.
Agora o pro é o seguinte:
A imagem mesmo estando completa no Layout do IReport quando é no meu programa ela fica cortada na metade!

Wellington…
Estou passando os dados via parametro!

A idéia e vc ler a imagem ou as imagens e converter cada uma para um java.awt.Image,
conforme segue o sample abaixo.
Vc poderá tanto usar isso como um parametro, ou ainda anexar uma imagem para cada registro, como se vc por exemplo precisasse exibir várias imagens distintas.

Supondo que vc irá exeibir apenas uma imagem… vc irá com certeza utilizar um Parametro no Ireport, logo:

[code]
Properties p = new Properties();
Image img = null;
try {
img = ImageHelper.readImage(“d:\locaweb.jpg”);
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}

	p.put("IMG", img);
	p.put("report.title", "Relatorio de CE's");[/code]

Uma vez carregado a imagem, lá no relatoriovc ira receber a imagem como uma propriedade do tipo “java.awt.Image” ou ainda tbm poderá ser um Field… a técnica será a mesma.

Ficou mais claro o exemplo?
Vc pode ainda testar a imagem que esta sendo carregada, criando um Jframe que contem um Jlabel, que contem a imagem… aí vctem certeza que a imagem foi carregada com sucesso.

Quanto ao problema da imagem cortada…
Ao clicar na imagem no relatório, -> Propriedades - > Imagem.
Existirão algumas opções para redimensionamento da imagem… Elas poderão desde fazer a imagem preencher o campo do Relatorio, ficar cortada, etc… Vc deverá ver qual a melhor solução pra vc…
Mas de cara, na minha opnião já defina um tamanho que suporte as suas imagens, afinal milagres não existem.

Espero te ajudado!

[]s