首页 | 源码下载 | 编程控件 | 书籍教程 | 应用方案 | 设计素材 | 项目交易 | 开发文档 | 商业源码 | 我的帐号
登陆我的帐号
帐 号:
密 码:
我还不是会员,需要注册!

截止2004年12月16日
本站源码总量(商业源码除外)RAR压缩为 4,206,733 KB。其中免费源码为 1,124,495 KB,会员源码为 3,082,238 KB
C/C++ 129,555 KB
Delphi 1,258,381 KB
Java 120,937 KB
.Net 36,886 KB
PowerBuilder 954,525 KB
Visual Basic 923,454 KB
ASP 259,795 KB
JSP 4,987 KB
其他 94,723 KB

本站是中国频道、中资源、时代互联顶级代理:注册国际域名70元,国内域名130元,各类ASP、PHP、JSP空间8折优惠!
本站承担各类网站制作开发及方案策划,项目经验丰富,欢迎洽谈!

网站动态
关于下载速度慢的问题解答
想免费下载源码吗?
还有众多资源恭候大家免费…
道歉!
关于资源更新的说明
关于下载错误的原因!
源码资源网新版网站投入运…

当前位置:源码资源网首页 > 开发文档首页 > JSP >JSP调用JavaBean在网页上动态生成柱状图

JSP调用JavaBean在网页上动态生成柱状图
人气:53 文字大小:     作者:

我们经常要在网页看到一些动态更新的图片,最常见的莫过于股票的K线图,本文试图通过一个简单的实例,向大家展示如何通过JSP 调用JavaBean在网页上动态生成柱状图。


  背景:本人最近在为某统计局开发项目时,涉及到在网页上动态生成图片的问题,费了一天的时间,终于搞定,为帮助大家在以后遇到同样的问题时不走弯路,现将设计思想及源代码公布出来,与大家共勉。以下代码在Windows2000成功测试通过,Web应用服务器采用Allaire公司的Jrun3.0。


  第一步:创建一个Java Bean用来生成jpg文件


  源程序如下:



//生成图片的 Java Bean
//作者:崔冠宇
//日期:2001-08-24
import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*;
import java.awt.image.*;
import java.awt.*;


public class ChartGraphics {
 BufferedImage image;
 public void createImage String fileLocation) {
  try {
   FileOutputStream fos = new FileOutputStream fileLocation);
   BufferedOutputStream bos = new BufferedOutputStream fos);
   JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder bos);
   encoder.encode image);
   bos.close );
  } catch Exception e) {
   System.out.println e);
  }
 }


 public void graphicsGeneration int h1,int h2,int h3,int h4,int h5) {


  final int X=10;
  int imageWidth = 300;//图片的宽度
  int imageHeight = 300;//图片的高度
  int columnWidth=30;//柱的宽度
  int columnHeight=200;//柱的最大高度


  ChartGraphics chartGraphics = new ChartGraphics );
  chartGraphics.image = new BufferedImage imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB);
  Graphics graphics = chartGraphics.image.getGraphics );
  graphics.setColor Color.white);
  graphics.fillRect 0,0,imageWidth,imageHeight);
  graphics.setColor Color.red);
  graphics.drawRect X+1*columnWidth, columnHeight-h1, columnWidth, h1);
  graphics.drawRect X+2*columnWidth, columnHeight-h2, columnWidth, h2);
  graphics.drawRect X+3*columnWidth, columnHeight-h3, columnWidth, h3);
  graphics.drawRect X+4*columnWidth, columnHeight-h4, columnWidth, h4);
  graphics.drawRect X+5*columnWidth, columnHeight-h5, columnWidth, h5);
  chartGraphics.createImage "D:\\temp\\chart.jpg");
 }
}


  解释:createImage String fileLocation)方法用于创建JPG图片,参数fileLocation为文件路径


  graphicsGeneration int h1,int h2,int h3,int h4,int h5)方法用于绘出图片的内容,参数h1……h5为每一个长方形的高度


  第二步:创建另一个Java Bean从文本文件中读取数据 每一个长方形的高度),在实际应用中数据存储在Oracle数据库中


  源程序如下:


//读取Text文件中数据的 Java Bean
//作者:崔冠宇
//日期:2001-08-24
import java.io.*;
public class GetData {
 int heightArray[] = new int[5];
 public int[] getHightArray ) {
  try {
   RandomAccessFile randomAccessFile = new RandomAccessFile    "d:\\temp\\ColumnHeightArray.txt","r");
   for  int i=0;i<5;i++)
   {
    heightArray[i] = Integer.parseInt randomAccessFile.readLine ));
   }
  }
  catch Exception e) {
   System.out.println e);
  }
  return heightArray;
 }
}


  解释: getHightArray )用于从文本中读取数据,将文本中的String类型转换为int类型,并以数组类型返回。


  第三步:创建JSP文件


  源程序如下:


<%@ page import="ChartGraphics" %>
<%@ page import="GetData" %>
<jsp:useBean id="cg" class="ChartGraphics"/>
<jsp:useBean id="gd" class="GetData"/>
<%!
int height[]=new int[5];
%>
<%
height=gd.getHightArray );
cg.graphicsGeneration height[0],height[1],height[2],height[3],height[4]);
%>
<html>
<body>
<img src="d:\temp\chart.jpg"></img>
</body>
</html>



   解释:JSP首先调用Bean  GetData..class)读取文件中的数据,再调用Bean ChartGraphics.class)生成图片,最后显示图片。


  结束语:由于文本 ColumnHeightArray.txt)中的数据可以随时变化,因此生成的图片中的5个长方形的高度是随之变化的,从而实现了图片的动态生成.该设计思想还可以用于制作网站的投票系统。



 

文章出处:   发表时间:2004-10-26 20:05:31

1条数据记录,分1页显示 上一页 < [1] > 下一页
相关文章  
[源码下载] · comicq源代码
[书籍教程] · VC++ 6.0数据库系统开发实例导航
[书籍教程] · Delphi 7数据库编程学习捷径
[书籍教程] · Delphi百例精解
[书籍教程] · DELPHI综合开发文档

相关评论  
 当前没有评论!
请登陆后再来发表评论!
当前位置:源码资源网首页 > 开发文档首页 > JSP调用JavaBean在网页上动态生成柱状图
会员升级 | 广告服务 | 网站开发 | 联系我们 | 网站动态 | 客户反馈

CodeRes.com 保留所有权利 2004
本站所有资源仅供学习参考,版权归原作者所有,如侵犯了您的权益请与我们联系