1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| public class GraphePieAction extends Action
{
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception
{
PieDataset pieDataset = this.createDataset() ;
JFreeChart jfreechart = ChartFactory.createPieChart3D("Pie Chart 3D Demo 3", pieDataset, true, true, false);
PiePlot3D piePlot3d = (PiePlot3D)jfreechart.getPlot();
piePlot3d.setStartAngle(290D);
piePlot3d.setDirection(Rotation.CLOCKWISE);
piePlot3d.setForegroundAlpha(0.5F);
piePlot3d.setNoDataMessage("No data to display");
piePlot3d.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}"));
piePlot3d.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1} ({2})"));
TextTitle textTitle = jfreechart.getTitle() ;
textTitle.setFont(new Font("Arial", Font.BOLD, 15));
int largeur = 800 ;
int hauteur = 500 ;
ChartRenderingInfo chartRenderingInfo = new ChartRenderingInfo(new StandardEntityCollection());
String filename = ServletUtilities.saveChartAsJPEG(jfreechart, largeur, hauteur, chartRenderingInfo, request.getSession());
Graphe graphe = this.initImage(request, chartRenderingInfo, filename);
request.setAttribute("graphe",graphe) ;
return mapping.findForward("success");
}
private PieDataset createDataset()
{
DefaultPieDataset defaultPieDataset = new DefaultPieDataset();
defaultPieDataset.setValue("Java", new Double(43.200000000000003D));
defaultPieDataset.setValue("Visual Basic", new Double(10D));
defaultPieDataset.setValue("C/C++", new Double(17.5D));
defaultPieDataset.setValue("PHP", new Double(0D));
defaultPieDataset.setValue("Perl", new Double(1.0D));
return defaultPieDataset;
}
private Graphe initImage(HttpServletRequest request,ChartRenderingInfo chartRenderingInfo, String filename)
{
String sMap = ChartUtilities.getImageMap(filename, chartRenderingInfo);
String src = request.getContextPath()+"/servlet/DisplayChart?filename=" + filename ;
String useMap = "#" + filename ;
Graphe graphe = new Graphe() ;
graphe.setMap(sMap);
graphe.setSrc(src) ;
graphe.setUseMap(useMap) ;
return graphe ;
}
} |
Partager