publicvoid afterReportInit() throws JRScriptletException { //create pie chart dataset DefaultPieDataset dateset =new DefaultPieDataset(); //set dataset value dateset.setValue("Chinese", 108); dateset.setValue("Math", 110); dateset.setValue("English", 74); dateset.setValue("Science Department", 226); /**//* * create jfreeChart object * the first parameter is pie chart title * the secend parameter is dataset of pie chart * the three parameter is boolean value,create chart note * the four parameter is boolean value,it's a tooltip of move mouse on * configure chart to generate URLs,It's get a PiePlot3D object * */ JFreeChart freeChart = ChartFactory.createPieChart3D("Report Pie Chart", dateset, true, true, false); PiePlot3D plot3D = (PiePlot3D) freeChart.getPlot(); plot3D.setNoDataMessage("No data to display"); // set variable "jfreeChart" value this.setVariableValue("jfreeChart", new JFreeChartRenderer(freeChart)); }
其中plot3D.setNoDataMessage("No data to display");这一句的意思是当没有显示出图表或是图表没有数据不显示时会显示我们定义的这些信息。
this.setVariableValue("jfreeChart", new JFreeChartRenderer(freeChart));