⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gantt1.jsp

📁 JFreeChart开发全攻略,JFreeChart开发全攻略
💻 JSP
字号:
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="org.jfree.chart.ChartFactory,
                 org.jfree.chart.JFreeChart,
                 org.jfree.chart.servlet.ServletUtilities,
                 org.jfree.chart.plot.CategoryPlot,
                 org.jfree.chart.renderer.category.GanttRenderer,
                 org.jfree.data.gantt.*,
                 org.jfree.data.time.SimpleTimePeriod,
                 gantt.DateUtil"%>
<%
//建立计划情况下的任务序列,每个任务都包括名称、开始时间和结束时间信息
TaskSeries taskseries = new TaskSeries("计划");
taskseries.add(new Task("需求获取", new SimpleTimePeriod(DateUtil.date(2006, 3, 6), DateUtil.date(2006, 3, 9))));
taskseries.add(new Task("需求分析", new SimpleTimePeriod(DateUtil.date(2006, 3, 10), DateUtil.date(2006, 3, 10))));
taskseries.add(new Task("系统设计", new SimpleTimePeriod(DateUtil.date(2006, 4, 6), DateUtil.date(2006, 4, 30))));
taskseries.add(new Task("设计评审", new SimpleTimePeriod(DateUtil.date(2006, 5, 2), DateUtil.date(2006, 5, 2))));
taskseries.add(new Task("设计实现", new SimpleTimePeriod(DateUtil.date(2006, 5, 3), DateUtil.date(2006, 8, 12))));
taskseries.add(new Task("测试", new SimpleTimePeriod(DateUtil.date(2006, 8, 13), DateUtil.date(2006, 9, 31))));

//建立实际情况下的任务序列,每个任务都包括名称、开始时间和结束时间信息
TaskSeries taskseries1 = new TaskSeries("实际");
taskseries1.add(new Task("需求获取", new SimpleTimePeriod(DateUtil.date(2006, 3, 6), DateUtil.date(2006, 3, 9))));
taskseries1.add(new Task("需求分析", new SimpleTimePeriod(DateUtil.date(2006, 3, 10), DateUtil.date(2006, 4, 15))));
taskseries1.add(new Task("系统设计", new SimpleTimePeriod(DateUtil.date(2006, 4, 15), DateUtil.date(2006, 5, 17))));
taskseries1.add(new Task("设计评审", new SimpleTimePeriod(DateUtil.date(2006, 5, 30), DateUtil.date(2006, 5, 30))));
taskseries1.add(new Task("设计实现", new SimpleTimePeriod(DateUtil.date(2006, 6, 1), DateUtil.date(2006, 9, 30))));
taskseries1.add(new Task("测试", new SimpleTimePeriod(DateUtil.date(2006, 9, 31), DateUtil.date(2006, 10, 17))));

//将计划和实际情况下的两个任务序列加入到TaskSeriesCollection型对象中
TaskSeriesCollection taskseriescollection = new TaskSeriesCollection();
taskseriescollection.add(taskseries);
taskseriescollection.add(taskseries1);

//建立JFreeChart图表对象,将taskseriescollection对象作为参数传入createGanttChart方法中
JFreeChart jfreechart = ChartFactory.createGanttChart("项目任务进度甘特图",
				"项目任务",
				"日期",
				taskseriescollection,
				true,
				true,
				false);
CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
categoryplot.getDomainAxis().setMaximumCategoryLabelWidthRatio(10F);
GanttRenderer ganttrenderer = (GanttRenderer) categoryplot.getRenderer();
//setDrawBarOutline(...)方法表示是否显示虚线,为false时表示不显示
ganttrenderer.setDrawBarOutline(false);

String filename = ServletUtilities.saveChartAsPNG(jfreechart, 500, 300, null, session);
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;
%>
<img src="<%= graphURL %>" width="500" height="300" border="0" usemap="#<%= filename %>"> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -