📄 gantt1.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 + -