在2003年编写DataReport时, 选中了Oracle Chart Builder来做画图组件, 那时还没有JFreeChart, 所以一直以来都不支持JFreeChart. 现在回过头来看, Oracle Chart Builder自从2002年开始就一直没有改进过, 功能和生成的图片样式上都有点落后了, 需要注入新的画图组件, 使DataReport获得更强的生命力.

    对DataReport程序做了一下修改, 使用Oracle Chart Builder生成的条状图如下所示.

    用JFreeChart生成的条状图如下所示.

    感觉起来两个也差不多, 如果和基于Flash技术的图形比起来, 都是比较土的, 你更喜欢那一张? JFreeChart比Oracle Chart Builder有几个优势, 首先是3D效果比较好; 其次是X轴支持分类坐标, 数字坐标, 及日期坐标, 而Oracle Chart Builder只支持分类和时间两种; 第三是Null值的处理, WebChart一定要传入double值, 而JFreeChart则可以传入Number对象.

    要完全支持和兼容也不容易, 还有几个问题没有搞定. 1, 第二坐标轴. 2, 子图. 3, Tooltip及Image CSS支持. 4, 页面定义的兼容性. 要做到完全透明地切换到JFreeChart, 还需要一定的时日, 最后肯定是两种都支持, 可以自行配置选择.

    再搞一个Flash的支持算了.