



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、我们经常要在网页看到一些动态更新的图片,最常见的莫过于股票的K线图,本文试图通过一个简单的实例,向大家展示如何通过JSP调用JavaBean在网页上动态生成柱状图。背景:本人最近在为某统计局开发项目时,涉及到在网页上动态生成图片的问题,费了一天的时间,终于搞定,为帮助大家在以后遇到同样的问题时不走弯路,现将设计思想及源代码公布出来,与大家共勉。以下代码在Windows2000成功测试通过,Web应用服务器采用Allaire公司的Jrun3.0。第一步:创建一个JavaBean用来生成jpg文件源程序如下:/生成图片的JavaBean/作者:崔冠宇/日期:2001-08-24importjava
2、.io.*;importjava.util.*;importcom.sun.image.codec.jpeg.*;importjava.awt.image.*;importjava.awt.*;publicclassChartGraphicsBufferedImageimage;publicvoidcreateImage(StringfileLocation)tryFileOutputStreamfos=newFileOutputStream(fileLocation);BufferedOutputStreambos=newBufferedOutputStream(fos);JPEGImage
3、Encoderencoder=JPEGCodec.createJPEGEncoder(bos);encoder.encode(image);bos.close();catch(Exceptione)System.out.println(e);publicvoidgraphicsGeneration(inth1,inth2,inth3,inth4,inth5)finalintX=10;intimageWidth=300;/图片的宽度intimageHeight=300;/图片的高度intcolumnWidth=30;/柱的宽度intcolumnHeight=200;柱的最大高度ChartGrap
4、hicschartGraphics=newChartGraphics();chartGraphics.image=newBufferedImage(imageWidth,imageHeight,BufferedImage.TYPE_INT_RGB);Graphicsgraphics=chartGraphics.image.getGraphics();graphics.setColor(Color.white);graphics.fillRect(0,0,imageWidth,imageHeight);graphics.setColor(Color.red);graphics.drawRect(
5、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,colu
6、mnWidth,h5);chartGraphics.createImage(D:tempchart.jpg);解释:createImage(StringfileLocation)方法用于创建JPG图片,参数fileLocation为文件路径graphicsGeneration(inth1,inth2,inth3,inth4jnth5)方法用于绘出图片的内容,参数hlh5为每一个长方形的高度第二步:创建另一个JavaBean从文本文件中读取数据(每一个长方形的高度),在实际应用中数据存储在Oracle数据库中源程序如下:读取Text文件中数据的JavaBean/作者:崔冠宇/日期:2001-08
7、-24importjava.io.*;publicclassGetDataintheightArray=newint5;publicintgetHightArray()tryRandomAccessFilerandomAccessFile=newRandomAccessFile(d:tempColumnHeightArray.txt,r);for(inti=0;iV5;i+)heightArrayi=Integer.parseInt(randomAccessFile.readLine();catch(Exceptione)System.out.println(e);returnheightAr
8、ray;解释:getHightArray()用于从文本中读取数据,将文本中的String类型转换为int类型,并以数组类型返回。第三步:创建JSP文件源程序如下:%pageimport=ChartGraphics%pageimport=GetData%Vjsp:useBeanid=cgclass=ChartGraphics/Vjsp:useBeanid=gdclass=GetData/V%!intheight=newint5;%V%height=gd.getHightArray();cg.graphicsGeneration(height0,height1,height2,height3,height4);%VhtmlVbodyVimgsrc=d:tempchart.jpgV/imgV/bodyV/html解释JSP首先调用Bean(GetData.class)读取文件中的数据,再调用Bean(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论