[RESOLVIDO] Alterar cor da barra do grafico do Ireport

Boa tarde Galera,

Gostaria de uma ajuda, caso alguém já tenha passado por isso…

Tenho um relatório no Ireport de barras, apenas 1 série, e gostaria de altera a cor de cada barra seguindo uma condição na quantidade do valor atribuído.

Parece simples, mas achei somente um exemplo do gráfico em HTML5, que é da versão pro do Ireport.

Galera,

Pesquisei e pesquisei e consegui resolver apenas com a classe customizer mesmo, segue abaixo implementações, mas basicamente é uma classe que configuro no Ireport, e dentro dela eu faço as alterações nas cores e somente nas condições de valores que eu preciso.

Se mais alguem precisar… esta ai…

Classe customize
public class RelatorioAvaliacaoCustomizer implements JRChartCustomizer{

@Override
public void customize(JFreeChart chart, JRChart jasperChart) {
    BarRenderer barRenderer;
    
    barRenderer = (BarRenderer) chart.getCategoryPlot().getRenderer();
    
    BarPainter barPainter = new BarPainter() {
    
        @Override
        public void paintBarShadow(Graphics2D arg0, BarRenderer arg1, int arg2,
                int arg3, RectangularShape arg4, RectangleEdge arg5, boolean arg6) {
            // TODO Auto-generated method stub
            
        }
        
        @Override
        public void paintBar(Graphics2D g2, BarRenderer barRenderer, int row, int column,
                RectangularShape bar, RectangleEdge base) {
            
            Paint itemPaint = barRenderer.getItemPaint(row, column);
            GradientPaintTransformer t = barRenderer.getGradientPaintTransformer();
            
            if (t != null && itemPaint instanceof GradientPaint) {
                itemPaint = t.transform((GradientPaint) itemPaint, bar);
            }
            
            if(barRenderer.getPlot().getDataset().getValue(row, column).intValue() == 1){
                g2.setPaint(Color.green);
            }else{
                g2.setPaint(Color.black);
            }
            g2.fill(bar);
            
            

            /*// draw the outline...
            if (barRenderer.isDrawBarOutline()) {
                // && state.getBarWidth() > BAR_OUTLINE_WIDTH_THRESHOLD) {
                Stroke stroke = barRenderer.getItemOutlineStroke(row, column);
                Paint paint = barRenderer.getItemOutlinePaint(row, column);
                
                if (stroke != null && paint != null) {
                    g2.setStroke(stroke);
                    g2.setPaint(Color.black);
                    g2.draw(bar);
                }
            }*/
            
        }
    };
    barRenderer.setBarPainter(barPainter);

}

}

Obs: para definir o nome da classe do jar exportado, é necessário declarar seu pacote completo!