<%@ page import="org.jfree.data.general.DefaultPieDataset"%>
<%@ page import="org.jfree.chart.*"%>
<%@ page import="org.jfree.chart.plot.*"%>
<%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
<%@ page import="org.jfree.chart.labels.StandardPieToolTipGenerator"%>
<%@ page import="org.jfree.chart.urls.StandardPieURLGenerator"%>
<%@ page import="org.jfree.chart.entity.StandardEntityCollection"%>
<%@ page import="java.io.*"%><HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=GBK">
<META NAME="Author" CONTENT="Alpha">
<TITLE>程序员学历情况调查表-By Alpha</TITLE>
</HEAD>
<BODY>
<%
DefaultPieDataset data = new DefaultPieDataset();
//数据初始化
data.setValue("高中以下",380);
data.setValue("高中",1620);
data.setValue("大专",6100);
data.setValue("本科",8310);
data.setValue("硕士",3520);
data.setValue("博士",180);
//HttpSession session = request.getSession(); PiePlot3D plot = new PiePlot3D(data);//生成一个3D饼图
//plot.setURLGenerator(new StandardPieURLGenerator("DegreedView.jsp"));//设定图片链接
JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true);
chart.setBackgroundPaint(java.awt.Color.white);//可选,设置图片背景色
chart.setTitle("程序员学历情况调查表-By Alpha");//可选,设置图片标题
plot.setToolTipGenerator(new StandardPieToolTipGenerator());
StandardEntityCollection sec = new StandardEntityCollection();
ChartRenderingInfo info = new ChartRenderingInfo(sec);
PrintWriter w = new PrintWriter(out);//输出MAP信息
//500是图片长度,300是图片高度
//String filename = ServletUtilities.saveChartAsPNG(chart,500,300,info,session);
String filename = ServletUtilities.saveChartAsJPEG(chart,500,300,info,session);
ChartUtilities.writeImageMap(w,"map0",info,false); String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
%> <P ALIGN="CENTER">
<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#map0">
</P>
</BODY>
</HTML>
java.lang.IllegalArgumentException: offset out of bounds
java.text.RuleBasedBreakIterator.checkOffset(RuleBasedBreakIterator.java:724)
java.text.RuleBasedBreakIterator.following(RuleBasedBreakIterator.java:737)
org.jfree.text.TextUtilities.nextLineBreak(TextUtilities.java:295)
org.jfree.text.TextUtilities.createTextBlock(TextUtilities.java:240)
org.jfree.chart.title.TextTitle.arrangeRR(TextTitle.java:626)
org.jfree.chart.title.TextTitle.arrange(TextTitle.java:495)
org.jfree.chart.JFreeChart.drawTitle(JFreeChart.java:1308)
org.jfree.chart.JFreeChart.draw(JFreeChart.java:1200)
org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1396)
org.jfree.chart.ChartUtilities.writeChartAsJPEG(ChartUtilities.java:410)
org.jfree.chart.ChartUtilities.saveChartAsJPEG(ChartUtilities.java:501)
org.jfree.chart.servlet.ServletUtilities.saveChartAsJPEG(ServletUtilities.java:255)
org.apache.jsp.map_jsp._jspService(map_jsp.java:100)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)我做了好几个demo 都是String filename = ServletUtilities.saveChartAsJPEG(chart,500,300,info,session); 这一句报 offset out of bounds
异常 我按照api文档穿的参数 貌似没有问题 真心不知道该怎么查了 有大神帮个忙吧 谢谢了 jfreechartoffset out of bounds
<%@ page import="org.jfree.chart.*"%>
<%@ page import="org.jfree.chart.plot.*"%>
<%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
<%@ page import="org.jfree.chart.labels.StandardPieToolTipGenerator"%>
<%@ page import="org.jfree.chart.urls.StandardPieURLGenerator"%>
<%@ page import="org.jfree.chart.entity.StandardEntityCollection"%>
<%@ page import="java.io.*"%><HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=GBK">
<META NAME="Author" CONTENT="Alpha">
<TITLE>程序员学历情况调查表-By Alpha</TITLE>
</HEAD>
<BODY>
<%
DefaultPieDataset data = new DefaultPieDataset();
//数据初始化
data.setValue("高中以下",380);
data.setValue("高中",1620);
data.setValue("大专",6100);
data.setValue("本科",8310);
data.setValue("硕士",3520);
data.setValue("博士",180);
//HttpSession session = request.getSession(); PiePlot3D plot = new PiePlot3D(data);//生成一个3D饼图
//plot.setURLGenerator(new StandardPieURLGenerator("DegreedView.jsp"));//设定图片链接
JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true);
chart.setBackgroundPaint(java.awt.Color.white);//可选,设置图片背景色
chart.setTitle("程序员学历情况调查表-By Alpha");//可选,设置图片标题
plot.setToolTipGenerator(new StandardPieToolTipGenerator());
StandardEntityCollection sec = new StandardEntityCollection();
ChartRenderingInfo info = new ChartRenderingInfo(sec);
PrintWriter w = new PrintWriter(out);//输出MAP信息
//500是图片长度,300是图片高度
//String filename = ServletUtilities.saveChartAsPNG(chart,500,300,info,session);
String filename = ServletUtilities.saveChartAsJPEG(chart,500,300,info,session);
ChartUtilities.writeImageMap(w,"map0",info,false); String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
%> <P ALIGN="CENTER">
<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#map0">
</P>
</BODY>
</HTML>
java.lang.IllegalArgumentException: offset out of bounds
java.text.RuleBasedBreakIterator.checkOffset(RuleBasedBreakIterator.java:724)
java.text.RuleBasedBreakIterator.following(RuleBasedBreakIterator.java:737)
org.jfree.text.TextUtilities.nextLineBreak(TextUtilities.java:295)
org.jfree.text.TextUtilities.createTextBlock(TextUtilities.java:240)
org.jfree.chart.title.TextTitle.arrangeRR(TextTitle.java:626)
org.jfree.chart.title.TextTitle.arrange(TextTitle.java:495)
org.jfree.chart.JFreeChart.drawTitle(JFreeChart.java:1308)
org.jfree.chart.JFreeChart.draw(JFreeChart.java:1200)
org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1396)
org.jfree.chart.ChartUtilities.writeChartAsJPEG(ChartUtilities.java:410)
org.jfree.chart.ChartUtilities.saveChartAsJPEG(ChartUtilities.java:501)
org.jfree.chart.servlet.ServletUtilities.saveChartAsJPEG(ServletUtilities.java:255)
org.apache.jsp.map_jsp._jspService(map_jsp.java:100)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)我做了好几个demo 都是String filename = ServletUtilities.saveChartAsJPEG(chart,500,300,info,session); 这一句报 offset out of bounds
异常 我按照api文档穿的参数 貌似没有问题 真心不知道该怎么查了 有大神帮个忙吧 谢谢了 jfreechartoffset out of bounds
解决方案 »
- 找不到类 org.hibernate.criterion.Criterion
- 文件上传问题
- 求帮助,给我个比较好的JSP视频教程,JAVA我会!JSP从头学的教程
- 模态对话框提交表单数据时,不关闭对话框就一直挂起
- JSP实现一棵树的问题
- jsp加载applet出现问题时,如何获取错误信息?
- 如何实现多条件选择查询?
- 50分:关于用enctype="multipart/form-data"方式在Linux系统下传输中文参数会出现乱码问题,谁能给出我解决方案?
- 一道关于web.xml的选择题,求解???
- 新手,配置是出了问题,请大家帮忙,就给分!
- 通过java的http请求返回的页面抓取信息,如何进行弹框身份验证
- 急求!!!!hibernate能否分组查询多个计数结果?
org.jfree.chart.servlet.ServletUtilities.saveChartAsJPEG(ServletUtilities.java:255)
可以定位到源码中看一下
DefaultCategoryDataset dcd = new DefaultCategoryDataset();
//I'm sure lignes contained at least 1 Zzz, and often more
for (Iterator<Zzz> it = lignes.iterator(); it.hasNext();) {
Zzz z = it.next();
dcd.setValue(z.getDuree(), "Temps", z.getCode());
dcd.setValue(z.getPrixVente(), "Prix de vente", z.getCode());
}
JFreeChart pie = pie = ChartFactory.createMultiplePieChart("", dcd, TableOrder.BY_ROW,
false/* legend */, false/* tooltip */, false/* urls */);//tried various options like :
//pie.clearSubtitles();
pie.setBorderVisible(false);
pie.setAntiAlias(true);
pie.setTextAntiAlias(true);
pie.getTitle().setFont(new Font("Arial", Font.BOLD, 8));
pie.setBackgroundPaint(Color.white);//and others like
PiePlot plot = (PiePlot) ((MultiplePiePlot) pie.getPlot())
.getPieChart().getPlot();
plot.setBackgroundPaint(Color.white);
plot.setLabelFont(new Font("Arial", Font.PLAIN, 9));//and now the crash:
BufferedImage bi = pie.createBufferedImage(600, 200);
ImageIO.write(bi, "png", new File("C:\\test.png"));