你可以用google查到一些jfreechart例子
解决方案 »
- Hibernate save Exception
- java web应用开发中使用Hibernate操作数据库步骤
- 音频文件格式转换!!!急!急!急!(困了几天了)
- 急啊,怎么出现“无效的游标状态”,到底咋回事啊?谢谢先!
- forward的简单问题
- 第一次搞JSP,麻烦帮我看看下面的代码哪里错啦!
- 紧急高分求教:用jsp或者java实现点对点语音交流!
- 关于在jsp中include html,html中的中文字符显示为乱码(多为问号),怎样解决?
- taglib小问题,各位帮忙看一下
- 根本解决Tomcat中的中文问题!
- jsp连接sql server数据库的问题,请大家帮帮忙,急呀
- resultset为空的问题
有人给了很多例子的!
http://community.csdn.net/Expert/topic/3564/3564753.xml?temp=2.869815E-02
你去看一看吧
也许对你有帮助
* Created on 2004-9-1
*
*/
package com.beltino.communitymedical.appservlet.hbp;import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.beltino.util.*;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.beltino.communitymedical.hbp.*;/**
* @author aus
*
*/
public class HBPJpegAction extends HttpServlet {
private ServletOutputStream out = null;
private BufferedImage image = null;
private Graphics graphics = null;
private JPEGImageEncoder encoder = null;
private int xwidth = 700;
private int yheight = 300;
private int scoreXY = 25;
private String startDate = ""; //开始时间
private String endDate = ""; //结束时间
private String cardNum = "";
private HBPCalendar hb = new HBPCalendar();
private java.util.ArrayList showList = new java.util.ArrayList();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("gbk");
response.setContentType("text/html;charset=gbk");
response.setContentType("image/jpeg");
startDate = ParamUtil.getParameterSqlDate(request, "startDate").toString();
endDate = ParamUtil.getParameterSqlDate(request, "endDate").toString();
cardNum = ParamUtil.getParameter(request, "cardNum");
out = response.getOutputStream();
image = new BufferedImage(xwidth, yheight, BufferedImage.TYPE_INT_RGB);
doAction();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
void doAction() throws ServletException, IOException {
graphics = image.getGraphics();
graphics.setColor(Color.white);
graphics.drawLine(scoreXY, yheight - scoreXY , xwidth - scoreXY, yheight - scoreXY); //横坐标
graphics.drawLine(scoreXY, scoreXY, scoreXY, yheight - scoreXY); //纵坐标
graphics.drawString("血压值", scoreXY - 10, scoreXY - 10);
graphics.drawString("日期", xwidth - scoreXY-8, yheight-5);
showList = hb.getArrBlood(cardNum, startDate, endDate);
doDraw(graphics, showList);
encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
graphics.dispose();
out.close();
}
//画坐标
void doDraw(Graphics g, java.util.ArrayList ret) {
for (int i = 0; i < ret.size(); i++) {
g.drawString("|", scoreXY + (i + 1) * 40 + 14, yheight - 26);
//写日期
g.drawString(transTo(((HBPValueBean) ret.get(i)).getMeterageDate()), scoreXY + (i + 1) * 40, yheight - 5);
//写血压值
if (i != ret.size()-1) {
g.drawLine(scoreXY + (i + 1) * 40+14,yheight-50-Integer.parseInt(((HBPValueBean) ret.get(i)).getMeterageValueLow()), scoreXY + (i + 2) * 40+14, yheight-50-Integer.parseInt(((HBPValueBean) ret.get(i + 1)).getMeterageValueLow()));
}
if (i != ret.size()-1) {
g.drawLine(scoreXY + (i + 1) * 40+14, yheight-50-Integer.parseInt(((HBPValueBean) ret.get(i)).getMeterageValueHigh()), scoreXY + (i + 2) * 40+14,yheight-50-Integer.parseInt(((HBPValueBean) ret.get(i + 1)).getMeterageValueHigh()));
}
}
g.drawString("-",scoreXY,yheight-50-60);
g.drawString("60",6,yheight-50-60);
g.drawString("-",scoreXY,yheight-50-80);
g.drawString("80",6,yheight-50-80);
g.drawString("-",scoreXY,yheight-50-90);
g.drawString("90",6,yheight-50-90);
g.drawString("-",scoreXY,yheight-50-100);
g.drawString("100",0,yheight-50-100);
g.drawString("-",scoreXY,yheight-50-120);
g.drawString("120",0,yheight-50-120);
g.drawString("-",scoreXY,yheight-140-50);
g.drawString("140",0,yheight-140-50);
g.drawString("-",scoreXY,yheight-160-50);
g.drawString("160",0,yheight-160-50);
g.drawString("-",scoreXY,yheight-180-50);
g.drawString("180",0,yheight-180-50);
g.drawString("-",scoreXY,50);
g.drawString("200",0,50);
}
//日期格式转换
String transTo(String source) {
java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("dd/MM");
String retStr = "";
try {
retStr = dateFormat.format(DateUtil.strToSqlDate(source));
} catch (Exception e) {
retStr = "";
e.printStackTrace();
}
return retStr;
}
}
上面有例子,反编译可以得到原码。很好用的哦
根据这个例子,改改
前段时间用jsp+xml+flash做了实时曲线图感觉还可以,只是cpu占用的利害。如果想要我可以发给你。
~~~~~~~~~~~~~~~~·
我也建议用这个!可以做的很精致。