3.4.1 根据需求生成图片并以不同的方式输出图片
在实际项目开发中,可能需要将图片显示到Web页面中,在我们组件中是采取直接生成图片的方式存放到服务器磁盘,然后可以通过Web程序将图片发布到页面。当然还可以采用其他方法。
1.Servlet和Struts的Action方式输出,可以直接由页面接受图片的文件流而不用生成图片;
2.JSP+Servlet+Javabean输出方式;
3.工具类ChartUtil和DisplayChart(jfreechart的servlet)输出;
4.ApplicationFrame输出方式。
3.4.2 如何使用图片Map功能
很多情况我们不仅仅要求可以在浏览器上显示一个图表,我们更需要客户可以直接在图表上做一下交互的操作,例如获取信息提示,点击图表某个部分进行更详细信息的展示等。例如前面生成的简单柱状图,用户需要在看到柱状图后点击某种水果(例如苹果)即可看到各个地区苹果产量的情况。为此就要求该图形具有交互操作的功能。在HTML中为了让一个图像具有可交互的功能,就必须给该图像定义一个Map对象。
组件中在绘制饼图中我们做好了生成Map对象的功能,其他图型方法类似。在组件中,我们以读取文本的形式读取生成的Map文件,把生成的图像文件以及MAP数据文件写到页面上即可完成热点图表的功能。
3.4.3 如何利用组件绘制其他图形及修改图形属性
在组件中,我们引用了JFreeChart开源项目,其实JFreeChart可以生成很多图形对象,它的工厂类提供了33个工厂方法用于生成不同的图形对象,若您要深入研究可参考其他关于JFreeChart的API介绍。





