怎样用JSP JAVABEAN 来画统计图呢?如:条形或饼形图 http://sys.lfwa.com:8080/saleline.jsp 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个非常好!//读取Text文件中数据的 Java Bean (也可能从数据库中读取)//作者: //日期:package com.Graphic.haha;import java.io.*;public class GetData{ public int heightArray[] = new int[5]; public int[] getHightArray(String path) { try{ RandomAccessFile randomAccessFile = new RandomAccessFile(path+"/temp/ColumnHeightArray.txt","r"); for(int i=0;i<5;i++) { heightArray[i] = Integer.parseInt(randomAccessFile.readLine()); } }catch(Exception e) {System.out.println(e.toString());} return heightArray; }} //生成图片的 Java Bean //作者://日期:package com.Graphic.haha;import java.io.*; import java.util.*; import com.sun.image.codec.jpeg.*; import java.awt.image.*; import java.awt.*; import javax.servlet.*;import javax.servlet.http.*;public class ChartGraphics extends HttpServlet{ BufferedImage image; ServletConfig config; 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,String path) { 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(path+"/temp/chart.jpg"); }} //调用的jsp文件//作者: //日期:<jsp:useBean id="cg" class="com.Graphic.haha.ChartGraphics"/><jsp:useBean id="gd" class="com.Graphic.haha.GetData"/><%!int height[]=new int[5];%>//取得了所在当前目录的路径String Pathstr=getServletContext().getRealPath("");//out.println(Pathstr);height=gd.getHightArray(Pathstr);cg.graphicsGeneration(height[0],height[1],height[2],height[3],height[4],Pathstr);%> <html> <body> <img src="temp/chart.jpg"></img> </body> </html> 我觉得还是用applet比较好点。 用jfreechart组件,非常简单方便。 实现原理就是在BufferedImage的Graphics中画图,然后使用ImageIO或JPEGImageEncoder进行编码输出 懂hibernate判断的进!! JSP制作简单新闻发布求解 java.lang.IllegalStateException怎么解决? 关于hibernate的问题 <form action>的问题-EJB相关 jsp与servlet中用什么方法来取出客户端中的数据 关于保存访问路径的问题 关于<form>上传的小问题! 我想问问xmlHTTP请求和普通的http请求有什么不同 高什么,看完jsp还不知道怎么上传文件??这里人才这么多。。。。 Jb9中tomcat4.1连接池的实现 在jsp中如何判断下拉列表框是否被选择,我明明选了,还是提示没有选择
//作者:
//日期:
package com.Graphic.haha;import java.io.*;public class GetData
{
public int heightArray[] = new int[5];
public int[] getHightArray(String path)
{
try{
RandomAccessFile randomAccessFile = new RandomAccessFile(path+"/temp/ColumnHeightArray.txt","r");
for(int i=0;i<5;i++)
{
heightArray[i] = Integer.parseInt(randomAccessFile.readLine());
}
}catch(Exception e)
{System.out.println(e.toString());}
return heightArray;
}
} //生成图片的 Java Bean
//作者:
//日期:package com.Graphic.haha;import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*;
import java.awt.image.*;
import java.awt.*;
import javax.servlet.*;
import javax.servlet.http.*;public class ChartGraphics extends HttpServlet
{
BufferedImage image;
ServletConfig config; 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,String path)
{
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(path+"/temp/chart.jpg");
}}
//调用的jsp文件
//作者:
//日期:<jsp:useBean id="cg" class="com.Graphic.haha.ChartGraphics"/>
<jsp:useBean id="gd" class="com.Graphic.haha.GetData"/>
<%!
int height[]=new int[5];
%>
//取得了所在当前目录的路径
String Pathstr=getServletContext().getRealPath("");
//out.println(Pathstr);
height=gd.getHightArray(Pathstr);
cg.graphicsGeneration(height[0],height[1],height[2],height[3],height[4],Pathstr);
%>
<html>
<body>
<img src="temp/chart.jpg"></img>
</body>
</html>