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

當前位置:首頁>>開發編程>>JAVA>>新聞內容
JSP調用JavaBean在網頁上動態生成柱狀圖
作者:崔冠宇 發布時間:2003-10-7 14:31:47 文章來源:JAVAJIA
  我們經常要在網頁看到一些動態更新的圖片,最常見的莫過于股票的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個長方形的高度是隨之變化的,從而實現了圖片的動態生成.該設計思想還可以用于制作網站的投票系統。


最新更新
·Java開發技術十年的回顧與展
·關于TOMCAT主目錄與虛擬目錄
·用java程序調用ffmpeg執行視
·JavaBean與Enterprise JavaB
·Java開發人員的十大戒律
·JavaFX Script將終結AJAX?還
·解決IE中所有png圖片透明問題
·JSP解決地址欄中傳遞中文字符
·Eclipse五歲了:Java程序員的
·審查Java代碼的十一種常見錯
相關信息
放生
愚愛
夠愛
觸電
白狐
心跳
知足
犯錯
降臨
分愛
葬愛
光榮
畫心
火花
稻香
愛得起
這種愛
大丈夫
花蝴蝶
二缺一
小酒窩
下雨天
右手邊
安靜了
棉花糖
明天過后
邊做邊愛
擦肩而過
沒有如果
懷念過去
等一分鐘
越來越愛
寂寞暴走
你的承諾
Nobody
我們都一樣
永遠在身邊
天使的翅膀
原諒我一次
i miss you
原諒我一次
吻的太逼真
姑娘我愛你
做你的愛人
一定要愛你
飛向別人的床
愛上別人的人
感動天感動地
心在跳情在燒
不潮不用花錢
如何能把你忘記
即使知道要見面
愛上你是一個錯
最后一次的溫柔
愛上你是我的錯
怎么會狠心傷害我
親愛的那不是愛情
傷心時候可以聽情歌
愛上你等于愛上了錯
不是因為寂寞才想你
主站蜘蛛池模板: 株洲市| 虹口区| 靖江市| 哈尔滨市| 广宁县| 南木林县| 界首市| 隆子县| 梓潼县| 陆河县| 建平县| 柯坪县| 沁水县| 定兴县| 晋江市| 洪泽县| 杭锦旗| 麦盖提县| 吴桥县| 韶关市| 湖州市| 佳木斯市| 团风县| 伊吾县| 辽宁省| 内黄县| 介休市| 南皮县| 太湖县| 广丰县| 南乐县| 赣榆县| 萨嘎县| 高平市| 静安区| 庆城县| 静宁县| 成武县| 南乐县| 闻喜县| 吴桥县|