Ireport e Graficos

Pessoal,

estou com o seguinte problema, tenha uma classe que deveria me
mostrar o relatorio com grafico onde eu passo um java.awt.Image como
parametro para ser mostrado no relatorio. Mas tah contecendo o seguinte
erro:

Error loading scriptlet class : AvaliacaoAntropometricaGraficoScriptlet

Alguem sabe oq pode ser isso?

Desde já obrigado.

O iReport gera essas porcarias de scriptlets para cada relatório com gráficos. O que você pode fazer:
a. colocar a classe marota no classpath da sua aplicação (leia: na pasta lib)

b. utilizar uma solução mais robusta. O suporte a gráficos do iReport ainda está muito ruim. Uma alternativa é criar os gráficos utilizando o JFreeChart e inclui-los no relatório via InputStream.

Kra, se eu colocar oarquivo class no meu classpath naum gera mais nenhum dos outros relatorios, naum consegui.

O método que me gera o relatorio é o seguinte:

public void geraRelatorioGrafico ( long codigo, Image imagem ) throws RelatorioException {
        
        try{
            
            Connection con = this.banco.pegaConexao();
            Statement stm = con.createStatement();
            
            String sql = "select * from avaliacao, aval_composicao_corporal, aval_antropometrica, usuario, avaliado where " +
                    "avaliacao.codigo = " + codigo + " and aval_composicao_corporal.codigo = " + codigo + " and " +
                    "aval_antropometrica.codigo = " + codigo + " and avaliacao.avaliado = usuario.codigo and usuario.codigo = avaliado.codigo";
            
            System.err.println( sql );
            
            ResultSet rs = stm.executeQuery( sql );
            
            JasperReport jr;
            JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
                        
            Map parameters = new HashMap();
            parameters.put ( "chartPizza", imagem );
            
            jr = JasperCompileManager.compileReport( "ext/relatorios/AvaliacaoAntropometricaGrafico.jrxml" );
            jprint = JasperManager.fillReport(jr, parameters, jrRS);
            
        } catch ( ConectaBancoExecption e){
            throw new RelatorioException( e.getMessage() );
        } catch ( SQLException e ) {
            throw new RelatorioException( e.getMessage() );
        } catch (JRException e) {
            throw new RelatorioException( e.getMessage() );
        }
    }

Se alguem tiver algum outro exemplo para fazer isso.
Valeu.

Opa opa, pensei que você estava usando o esquema do próprio iReports gerar o gráfico. Mas não é o caso, você gera a imagem externamente e passa como parâmetro para o relatório.

Bem, não posso te ajudar :expressionless:

Tente o fórum do iReport no sourceforge, tem 5 mil mensagens no fórum de ajuda, tenho certeza que a solução está lá.
http://sourceforge.net/forum/forum.php?forum_id=217623

View -> Report Parameters -> new
Parameter Name: chartPizza
Parameter Class Type: java.lang.Object

Edit -> Insert Element -> Image
Crie o tamanho da imagem no report, botao direito, properties.

[b]Aba Image[/b]

Image Expression:
$P{chartPizza}
Image Expression Class:
java.awt.Image

*nao testei :smiley:
**mas eu tentaria assim :wink:

Seguinte, fiz um grafico que eu gerei usando aquele esquama do ireport gerar grafico, coloquei aquela porcaria de classe de scriplet gerada pelo ireport na pasta lib da do servidor do projeto (é um de servlets) e continua dando esse mesmo erro:
net.sf.jasperreports.engine.JRException: Error loading scriptlet class : rel15_graficoChamadosParqueInstaladoScriptlet
E nao consigo entender o que possa fazer pra arrumar esse maldito erro.
Algeum tem alguma ideia de como resolver isso?