因项目要求,需要用到甘特图功能,众所周知,JFreeChart在条形图、饼状图等图形方面是最成功的开源技术之一,但是网上关于甘特图方面的资料相对比较少,以下功能全部是因项目需要,自己验证过的。
//设置水平网格线显示、隐藏
CategoryPlot.setDomainGridlinesVisible(boolean visible)
//设置值刻度间距模式(false为大,true为小) 新增
chart.getCategoryPlot().setDrawSharedDomainAxis(boolean draw);
//generator为热点提示接口,如果自定义热点提示,可以实现此接口复写其中的方法
GanttRenderer.setToolTipGenerator(CategoryToolTipGenerator generator);
/**
*顺序显示每个任务的url,url中支持加入js函数
/*
GanttRenderer.setItemURLGenerator(CategoryURLGenerator generator);
//设置所有整个任务条的背景色
BarRenderer.setBarPainter(BarPainter painter)
//设置指定任务序列外围背景色
Render.setSeriesPaint(int series, Paint paint)
//设置指定任务序列显示、隐藏
Render.setSeriesVisible(Boolean visible)
//设置任务条宽高,范围在0-1,修改参数值,任务条宽高会有变化,但是变化规律不清楚
BarRenderer.setMaximumBarWidth(double percent)
BarRenderer.setMinimumBarLength(double min)
//设置指定任务边框是否可见
GanttRenderer.setDrawBarOutline(boolean draw);
//设置任务边框颜色
BarRenderer.setBaseOutlinePaint(Color.blue);
DateAxis.setRange(Date start,Date end)//设置日期显示范围
DateAxis.setTimeZone(TimeZone zone);//设置日期的时区
//设置日期按年月日显示
/**
*param unitType设置日期显示类型,按年\月\日\时\分显示
*param multiple设置日期间隔
*param formatter设置日期显示格式,例如yyyy-MM-dd
*/
DateAxis.setTickUnit(new DateTickUnit(DateTickUnitType unitType, int multiple, java.text.DateFormat formatter));
//参数 margin范围(0,1)
//设置最高的item距离顶端的距离
CategoryAxis.setLowerMargin(double margin)
//设置最低的item距离底端的距离
CategoryAxis.setUpperMargin(double margin)
//设置主标题字体
StandardChartTheme.setExtraLargeFont(Font font)
//设置CategoryAxis、ValueAxis轴字体、图例字体
StandardChartTheme.setRegularFont(Font font);
//设置轴向的字体 (CategoryAxis、ValueAxis小标题)
StandardChartTheme.setLargeFont(Font font);
//单独设置图例字体
LegendTitle.setItemFont(Font font);