Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
JasperReport里如何在Detail部分来动态的现实数据库中的图片

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

问题(网友zslzspzsagd 原文):我想通过ireport在detail部分来动态的现实数据库中的图片(我的数据库中存储的是服务器上的图片所在的路径)。

    因为很久没有做JasperReport了,只是说一下个人的一点想法,不对之处,还望指正。

首先,detail里肯定需要定义一个field:

<field name="Image" class="java.awt.Image"/>

注意:class 为 java.awt.Image

其次,肯定需要定义自己的datasource

在  public Object getFieldValue(JRField field) throws JRException

里,判断如果是Image的路径字段,则载入返回图片(应为java.awt.image.BufferedImage)。

如:public Object getFieldValue(JRField field) throws JRException{

         Object value = null;
  
  String fieldName = field.getName();

if ("Image".equals(fieldName))
  {

   String imagePath = (根据index和fieldName取数据库信息);


   value = getImage(imagePath );
  }else{

...........

}

return value;

}

private BufferedImage getImage(String imagePath){

Image image = Toolkit.getDefaultToolkit().getImage(imagePath);
// Create the buffered image.
BufferedImage bufferedImage = new BufferedImage(
image.getWidth(null), image.getHeight(null),
BufferedImage.TYPE_INT_RGB);
// Copy image to buffered image.
Graphics g = bufferedImage.createGraphics();
// Clear background and paint the image.
g.setColor(Color.white);
g.fillRect(0, 0, image.getWidth(null),
image.getHeight(null));
g.drawImage(image, 0, 0, null);
g.dispose();
return bufferedImage;

}




相关文章

相关软件