成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

當(dāng)前位置:首頁>>開發(fā)編程>>JAVA>>新聞內(nèi)容
JSP調(diào)用JavaBean在網(wǎng)頁上動態(tài)生成柱狀圖
作者:崔冠宇 發(fā)布時間:2003-10-7 14:31:47 文章來源:JAVAJIA
  我們經(jīng)常要在網(wǎng)頁看到一些動態(tài)更新的圖片,最常見的莫過于股票的K線圖,本文試圖通過一個簡單的實(shí)例,向大家展示如何通過JSP 調(diào)用JavaBean在網(wǎng)頁上動態(tài)生成柱狀圖。

  背景:本人最近在為某統(tǒng)計局開發(fā)項(xiàng)目時,涉及到在網(wǎng)頁上動態(tài)生成圖片的問題,費(fèi)了一天的時間,終于搞定,為幫助大家在以后遇到同樣的問題時不走彎路,現(xiàn)將設(shè)計思想及源代碼公布出來,與大家共勉。以下代碼在Windows2000成功測試通過,Web應(yīng)用服務(wù)器采用Allaire公司的Jrun3.0。

  第一步:創(chuàng)建一個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)方法用于創(chuàng)建JPG圖片,參數(shù)fileLocation為文件路徑

  graphicsGeneration(int h1,int h2,int h3,int h4,int h5)方法用于繪出圖片的內(nèi)容,參數(shù)h1……h(huán)5為每一個長方形的高度

  第二步:創(chuàng)建另一個Java Bean從文本文件中讀取數(shù)據(jù)(每一個長方形的高度),在實(shí)際應(yīng)用中數(shù)據(jù)存儲在Oracle數(shù)據(jù)庫中

  源程序如下:

//讀取Text文件中數(shù)據(jù)的 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()用于從文本中讀取數(shù)據(jù),將文本中的String類型轉(zhuǎn)換為int類型,并以數(shù)組類型返回。

  第三步:創(chuàng)建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首先調(diào)用Bean (GetData..class)讀取文件中的數(shù)據(jù),再調(diào)用Bean(ChartGraphics.class)生成圖片,最后顯示圖片。

  結(jié)束語:由于文本(ColumnHeightArray.txt)中的數(shù)據(jù)可以隨時變化,因此生成的圖片中的5個長方形的高度是隨之變化的,從而實(shí)現(xiàn)了圖片的動態(tài)生成.該設(shè)計思想還可以用于制作網(wǎng)站的投票系統(tǒng)。


最新更新
·Java開發(fā)技術(shù)十年的回顧與展
·關(guān)于TOMCAT主目錄與虛擬目錄
·用java程序調(diào)用ffmpeg執(zhí)行視
·JavaBean與Enterprise JavaB
·Java開發(fā)人員的十大戒律
·JavaFX Script將終結(jié)AJAX?還
·解決IE中所有png圖片透明問題
·JSP解決地址欄中傳遞中文字符
·Eclipse五歲了:Java程序員的
·審查Java代碼的十一種常見錯
相關(guān)信息
放生
愚愛
夠愛
觸電
白狐
心跳
知足
犯錯
降臨
分愛
葬愛
光榮
畫心
火花
稻香
愛得起
這種愛
大丈夫
花蝴蝶
二缺一
小酒窩
下雨天
右手邊
安靜了
棉花糖
明天過后
邊做邊愛
擦肩而過
沒有如果
懷念過去
等一分鐘
越來越愛
寂寞暴走
你的承諾
Nobody
我們都一樣
永遠(yuǎn)在身邊
天使的翅膀
原諒我一次
i miss you
原諒我一次
吻的太逼真
姑娘我愛你
做你的愛人
一定要愛你
飛向別人的床
愛上別人的人
感動天感動地
心在跳情在燒
不潮不用花錢
如何能把你忘記
即使知道要見面
愛上你是一個錯
最后一次的溫柔
愛上你是我的錯
怎么會狠心傷害我
親愛的那不是愛情
傷心時候可以聽情歌
愛上你等于愛上了錯
不是因?yàn)榧拍畔肽?/a>
主站蜘蛛池模板: 汉阴县| 绍兴县| 卢龙县| 大渡口区| 襄樊市| 寻乌县| 三亚市| 阿克苏市| 紫云| 新巴尔虎左旗| 错那县| 南江县| 东海县| 中卫市| 柯坪县| 启东市| 尼玛县| 新平| 绥滨县| 大新县| 余庆县| 永胜县| 雷山县| 德昌县| 民权县| 连城县| 栖霞市| 中阳县| 新源县| 焉耆| 桂东县| 南昌市| 永昌县| 巫溪县| 舟山市| 平罗县| 黔东| 富阳市| 灌南县| 天峻县| 丘北县|