iReport 集成了 jfreeChart 作为显示图表的引擎,因此,如果要使用图表功能,需在项目中加入 jfreechart.jar 和 jcomon.jar,可在iReport安装目录下的lib文件夹下找到。
我在此制作一个如下的图表:

使用如下的Bean类作为数据源
package lld.test.ireport;
public class ChartBean
{
private String language;
private Double percent;
public String getLanguage()
{
return language;
}
public void setLanguage(String language)
{
this.language = language;
}
public Double getPercent()
{
return percent;
}
public void setPercent(Double percent)
{
this.percent = percent;
}
}
使用如下的数据源生成函数:
private JRDataSource createDataSource()
{
//生成测试数据
ArrayList<ChartBean> beans = new ArrayList<ChartBean>();
ChartBean java_bean = new ChartBean();
java_bean.setLanguage("Java");
java_bean.setPercent(0.35);
beans.add(java_bean);
ChartBean csharp = new ChartBean();
csharp.setLanguage(".net");
csharp.setPercent(0.35);
beans.add(csharp);
ChartBean php_bean = new ChartBean();
php_bean.setLanguage("PHP");
php_bean.setPercent(0.15);
beans.add(php_bean);
ChartBean other_bean = new ChartBean();
other_bean.setLanguage("Other");
other_bean.setPercent(0.15);
beans.add(other_bean);
return new JRBeanCollectionDataSource(beans);
}
图表的参数设置如下图所示:

Label Expression 在此设置为 (new Double($F{percent}.doubleValue() * 100)).toString() + "%",用于显示图表的百分数标签。
有关生成图表的详细操作,建议阅读jfreeChart的帮助文件。
注, 如需本例源程序, 请留言或发邮件至lldwolf@163.com索取
发表于 @ 2008年07月05日 14:43:00|评论(loading...)|编辑|收藏