[RESOLVIDO] imagem no ireport

Amigos bom dia,

to com um problema em anexar imagens no ireport… No ireport funciona que é uma beleza, mas quando chamo o arquivo no netbeans ele da erro

no ireport o caminho da imagem está como: “logo.gif”… e ela esta na mesma pasta do arquivo jxml. Quando abro o relatorio no ireport funciona…

olha o erro que dá no netbeans…Alguem sabe a cagada q to fazendo??


net.sf.jasperreports.engine.JRException: Byte data not found at location : logo.gif
	at net.sf.jasperreports.engine.util.JRLoader.loadBytesFromLocation(JRLoader.java:563)
	at net.sf.jasperreports.engine.JRImageRenderer.getInstance(JRImageRenderer.java:217)
	at net.sf.jasperreports.engine.fill.JRFillImage.evaluateImage(JRFillImage.java:1057)
	at net.sf.jasperreports.engine.fill.JRFillImage.evaluate(JRFillImage.java:1004)
	at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258)
	at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:499)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillBandNoOverflow(JRVerticalFiller.java:439)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageHeader(JRVerticalFiller.java:403)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:264)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845)
	at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
	at infMercado.Relatorios.GeraRelatAtivo(Relatorios.java:56)
	at infMercado.InicioJF.posAbtParticipActionPerformed(InicioJF.java:192)
	at infMercado.InicioJF.access$300(InicioJF.java:25)
	at infMercado.InicioJF$4.actionPerformed(InicioJF.java:77)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:291)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.Component.processMouseEvent(Component.java:6134)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
	at java.awt.Component.processEvent(Component.java:5899)
	at java.awt.Container.processEvent(Container.java:2023)
	at java.awt.Component.dispatchEventImpl(Component.java:4501)
	at java.awt.Container.dispatchEventImpl(Container.java:2081)
	at java.awt.Component.dispatchEvent(Component.java:4331)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
	at java.awt.Container.dispatchEventImpl(Container.java:2067)
	at java.awt.Window.dispatchEventImpl(Window.java:2458)
	at java.awt.Component.dispatchEvent(Component.java:4331)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

posta o trecho do código onde vc passa a imagem para o relatório.

att,

no xml ta assim…


<image>
	<reportElement x="2" y="43" width="186" height="56"/>
	<imageExpression class="java.lang.String"><![CDATA["logo.gif"]]></imageExpression>
</image>

EU faço da seguinte maneira:

no ireport crio 1 param para recebe a imagem.
no código java eu passo dentro do map essa imagem q fica em um pacote dentro da aplicação.

acho q de alguma maneira vc tem q especificar aonde esta a imagem não?

att,

Tem certeza que a imagem está mesmo no diretório certo? Posta como você chama o .jasper. Sei que é besteira mas as vezes nos confundimos com isso mesmo…

nesse relatorio eu usava endereço fixo… sempre dava certo… agora que esse programa será disponibilizado para outras filiais, os mapeamentos de rede nao sao os mesmos… entao eu precisava indicar que estas imagens estao no mesmo diretorio que o arquivo jxml…estranho e que desse jeito o ireport entende que o caminho e o mesmo do arquivo… mas no netbeans nao rola…

o jrxml e a imagem estão no mesmo diretório? ou dentro de um pacote ou jar?

att,

estao no mesmo diretorio do .jar

na pasta tem o .jar e uma pasta chamada imagens… dentro desta pasta estão os jxml e os logos…olha o trecho que chamo o jxml


   if (tipo== 1) {
            arquivo = ".\\imagens\\pos_abt_part.jrxml";
        }
        else{
            arquivo = ".\\imagens\\pos_abt_part_agr.jrxml";
        }

        try {
            JasperDesign jasperDesign = JRXmlLoader.load(arquivo);
            JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameterMap,conn);


            JasperViewer jrviewer = new JasperViewer(jasperPrint, false);
            jrviewer.setVisible(true);

Santo guj…rsrsr

A dica do pedruhenrik salvou meu find… ja tava até desmarcando a balada pra resolver esse problema…kkkkk

Adicionei outro parametro… caminho… ai no netbeans seto este parametro como o caminho do projeto…ele qdo vai chamar as imagens reconhece o diretorio

Valew amigos… fico devendo uma breja…rsrsr


 parameterMap =new HashMap( );
                 
                parameterMap.put("dt", dt);
                parameterMap.put("dtAnt", dtAnt);
                parameterMap.put("caminho", ".\\imagens\\");