网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Java解析XML文档——dom解析xml.
.解决中文问题的几个常用的函数.
.作了个小测试equals 和==.
.Java核心代码例程之:(EJB) Remo.
.最新的Swing外观,定制UI不在话下.
.java 游戏API--.
.moveFirst 方法.
.国强-Symix企业资源计划(ERP).
.两种Java容器类List和Set分析.
.Java语言编码规范(2).
.java.lang包概述(可以当作学习索.
.桌面系统的第二次战役--难解难分.
.SerialNumber 属性.
.JAVA的入门基础一些精典.
.Java游戏编程初步.
.用.net创建windowsservice的总结.
.源代码分享——进化中Hibernate3.
.熟练使用命令行工具开发Java程序.
.java的一些规则.
.对Java嵌套类的讨论(上).

iReport整合向量图形的使用心得

发表日期:2008-1-5



  补丁方式
  通过svg-patch-src修补jASPerreports cvs源码,编译后与iReport源码整合。笔者发现了少数中文和XML校验等问题,通过修改源码可以解决。所以建议iText,jasperreports,jfreechart,iReport都使用cvs源码。
  
  中文问题
  修改com.lowagie.text.pdf.DefaultFontMapper类的awtToPdf方法:
  BaseFont bf = null;
    try {
      bf =
        BaseFont.createFont(
  System.getProperty(“font.chinese.SIMYOU”),"D:/wiki/iReport-0.3.0/fonts/SIMYOU.TTF",
          BaseFont.IDENTITY_H,
          BaseFont.EMBEDDED);
    } catch (DocumentException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
    } catch (IOException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
    }
  
  在Linux平台上部署的时候需要修改jfreechart相应的字体。
  
  iReport Chart
  iReport目前对chart支持很有限,不过通过image标签和scriptlet可以很好的嵌入jfreechart图形, 嵌入其它chart比如jcharts方法一样。
  
iReport整合向量图形的使专心得

  Scriptlet代码
  public class ChartScriptlet extends JRDefaultScriptlet
  {
  /**
   *
   */
  public void afterReportInit() throws JRScriptletException
  {
    Connection con=null;
    DefaultPieDataset pieDataset = new DefaultPieDataset();
    try {
      Class.forName("Oracle.jdbc.driver.OracleDriver");
      System.out.println("oracle.jdbc.driver.OracleDriver");
    } catch (ClassNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    try {
  
      con =
        DriverManager.getConnection(
          "jdbc:oracle:thin:@127.0.0.1.38:1521:ora8i",
          "user",
          "passWord");
  
      String query =
        "select province.name as name,sum(bill.total) as total from province,bill,node where bill.node_id =node.id and node.province_id=province.id and bill.CREATE_TIME > to_date('2004-1-1','yyyy-MM-dd') group by province.name";
      Statement stmt = con.createStatement();
  
      // Submit a query, creating a ResultSet object
  
      ResultSet rs = stmt.executeQuery(query);
  
      while (rs.next()) {
        System.out.println(rs.getString("name"));
        pieDataset.setValue(
          rs.getString("name"),
          rs.getDouble("total"));
      }
      rs.close();
      stmt.close();
      con.close();
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  
    JFreeChart chart =
      ChartFactory.createPieChart(
        "2004-1-1至今各省帐单数据统计图",
        pieDataset,
        true,
        true,
        false);
    JCommonDrawableWrapper chartWrapper = new JCommonDrawableWrapper(chart);
  
    this.setVariableValue("ChartImage", chartWrapper);
  
    BufferedImage image = chart.createBufferedImage(246, 303);
    this.setVariableValue("ChartImage2", image);
  
  }
  }
上一篇:用Javamail写的解析MimeMessage的程序 人气:940
下一篇:初始化类时newInstance和new的区别 人气:680
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐