我在使用JFreeChart组建的时候出现点问题,主要代码如下:
        ResultSet rs=null;
        String sql=null;
        String dataName[];//定义数组,摆放数据系列
        int dataValueCount[];//定义数组,摆放数据系列值
        FileOutputStream fos_jpg = null;
        String xsxx=request.getParameter("xsxx");//获取表单选项
        sql="select spname,count(spname) as amount from tb_sell group by spname";
         try{
           rs=rst.getResult(sql);//调用javaBean方法getResult(),返回结果集
           rs.last();//将指针移至末端
           int num=rs.getRow();//获取行数
           dataName=new String[num];//初始化数组
           dataValueCount=new int[num];//初始化数组
           rs.first();//将指针移至顶端
           int i=0;//定义一个变量i
           out.println(num);
            while(!rs.isAfterLast()){
             dataName[i]=rs.getString("spname");//数组赋值
             out.println(dataName[i]);
             dataValueCount[i]=rs.getInt("amount");//数组赋值
             out.println(dataValueCount[i]);
             i++;
             rs.next();
           }
           DefaultCategoryDataset categoryDataset = new DefaultCategoryDataset();//定义数据集
           for(int ii=0;ii<dataName.length;ii++)
             categoryDataset.addValue(dataValueCount[ii],dataName[ii],dataName[ii]);//循环写入数据集
           JFreeChart chart = ChartFactory.createBarChart("销售信息柱状图","商品名称","数量",categoryDataset,PlotOrientation.VERTICAL,true,true,false);//创建图表
           fos_jpg = new FileOutputStream("D:\\fruit.jpg");
            ChartUtilities.writeChartAsJPEG(fos_jpg,100,chart,400,300,null);
        }catch(Exception e){
          e.printStackTrace();
        }finally{
          try{
            fos_jpg.close();
          }catch(Exception e){
             e.printStackTrace();
          }
        }
运行时出现如下异常:java.lang.IllegalArgumentException: The 'quality' must be in the range 0.0f to 1.0f
at org.jfree.chart.encoders.SunJPEGEncoderAdapter.setQuality(SunJPEGEncoderAdapter.java:100)
at org.jfree.chart.encoders.ImageEncoderFactory.newInstance(ImageEncoderFactory.java:130)
at org.jfree.chart.encoders.EncoderUtil.writeBufferedImage(EncoderUtil.java:149)
at org.jfree.chart.ChartUtilities.writeChartAsJPEG(ChartUtilities.java:456)
at org.apache.jsp.cxtj.xsxxRequest_jsp._jspService(xsxxRequest_jsp.java:117)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.mingri.chinese.CharFilter.doFilter(CharFilter.java:15)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
我不知道怎么修改,在jfreechart上还没有深入的学习,请大家帮我看看吧,谢谢啦