Java 为什么油漆不起作用?

Java 为什么油漆不起作用?,java,jfreechart,Java,Jfreechart,我有一张饼图。我需要填充所有部分相同的颜色。在jfreechart指南中,我找到了setBaseSectionPaint方法,但它不起作用。我在cycle中使用了方法setSectionPaint,但它不是正确的多余程序代码。为什么油漆不起作用 private JFreeChart createPieChart(PieDataset piedataset){ JFreeChart jfreechart = ChartFactory.createPieChart("Select the

我有一张饼图。我需要填充所有部分相同的颜色。在jfreechart指南中,我找到了setBaseSectionPaint方法,但它不起作用。我在cycle中使用了方法setSectionPaint,但它不是正确的多余程序代码。为什么油漆不起作用

private  JFreeChart createPieChart(PieDataset piedataset){
    JFreeChart jfreechart = ChartFactory.createPieChart("Select the desired dictionary:", piedataset,true, true, false);

    PiePlot pieplot = (PiePlot) jfreechart.getPlot();


    for (int i=0;i<piedataset.getItemCount();i++){  //excess program code
        pieplot.setSectionPaint(piedataset.getKey(i),new Color(54, 95, 196));
    }

    pieplot.setBaseSectionPaint(new Color(54, 95, 196)); //doesn't work
    return jfreechart;
}
drawItem方法调用lookupSectionPaint,这解释了使用的算法:

如果getSectionPaint为非空,则返回; 如果getSectionPaintint为非null,则返回它; 如果getSectionPaintint为null,但autoPopulate为true,则尝试从绘图供应商Plot.getDrawingSupplier获取新的绘图; 如果所有其他操作都失败,则返回getBaseSectionPaint。 相反,请尝试这种方法,在省略对setSectionPaint的调用后,使用org.jfree.chart.demo.PieChartDemo1演示:


不幸的是,这不是我的情况。非常感谢!这就是我需要的。非常感谢你!
//plot.setSectionPaint(…);
plot.setAutoPopulateSectionPaint(false);
plot.setBaseSectionPaint(Color.blue);