⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gzrzrztzchartbean.java

📁 以前做的一个j2ee的项目
💻 JAVA
字号:
package gov.gdlt.ssgly.taxweb.mbean.gzrz;

import java.util.List;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.category.DefaultCategoryDataset;
import gov.gdlt.ssgly.taxcore.taxevent.gzrz.GZRZrwtzVO;
import org.jfree.chart.ChartUtilities;
import javax.servlet.http.HttpSession;
import java.io.PrintWriter;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.entity.StandardEntityCollection;
import java.io.OutputStream;
import javax.servlet.http.HttpServletRequest;
import org.jfree.chart.renderer.category.BarRenderer3D;
import java.awt.Color;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.DatasetUtilities;
import org.jfree.chart.urls.StandardCategoryURLGenerator;
import org.jfree.chart.labels.StandardCategoryToolTipGenerator;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.axis.CategoryAxis3D;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.axis.NumberAxis3D;
import org.jfree.chart.labels.StandardCategoryLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.urls.StandardPieURLGenerator;
import org.jfree.chart.labels.StandardPieItemLabelGenerator;
import org.jfree.data.general.DefaultPieDataset;

public class GZRZrztzChartBean {
    private DefaultCategoryDataset data = null;
    private CategoryPlot plot = null;
    public GZRZrztzChartBean(){

    }

    public String createImg(String title,HttpSession session,String numberAxisTitle,String categoryAxisTitle,List rztz)throws Exception{
        bindValue(numberAxisTitle,categoryAxisTitle,rztz);
//        JFreeChart chart = ChartFactory.createBarChart3D(title,
//                "", "任务数", dataset, PlotOrientation.HORIZONTAL, true, true, false);
        JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, false);
        chart.setBackgroundPaint(Color.WHITE);
        //该工具在鼠标移动到图片时显示提示信息是用Map实现的,这些Map是用该类生成的
        ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
        String filename = ServletUtilities.saveChartAsPNG(chart, 700, 300, info, session);
        return filename;
    }

    private void bindValue(String numberAxisTitle,String categoryAxisTitle,List rztz){
        //addValue(rztz);
        ValueAxis valueAxis = new NumberAxis3D(numberAxisTitle);//创建坐标轴
        CategoryAxis3D categoryAxis = new CategoryAxis3D(categoryAxisTitle);
        BarRenderer3D renderer = new BarRenderer3D();
        setRendererValue(renderer);
        plot = new CategoryPlot(data, categoryAxis, valueAxis, renderer);//创建图表区域对象
    }

    public static String createPieImg(String title,HttpSession session,List rztz)throws Exception{
        DefaultPieDataset dataset = new DefaultPieDataset();
        addValue(rztz,dataset);
        PiePlot3D plot = new PiePlot3D(dataset);//3D饼图
        plot.setURLGenerator(new StandardPieURLGenerator("LogDetail1.jsp")); //设定链接
        JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, true);
        chart.setBackgroundPaint(Color.white); //可选,设置图片背景色
        plot.setToolTipGenerator(new StandardPieItemLabelGenerator());
        StandardEntityCollection sec = new StandardEntityCollection();
        ChartRenderingInfo info = new ChartRenderingInfo(sec);
    //500是图片长度,300是图片高度
        String filename = ServletUtilities.saveChartAsPNG(chart, 690, 400, info,session);
        return filename;
    }

    private void setRendererValue(BarRenderer renderer){
        renderer.setSeriesPaint(0, new Color(0, 100, 255));
        //显示每个柱的数值,并修改该数值的字体属性
        renderer.setLabelGenerator(new StandardCategoryLabelGenerator());
        renderer.setBaseItemLabelsVisible(true);
        //创建URLGenerator.再不需要连接的情况下将第一个参数设置成"###"就可以了
        renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator("LogDetail1.jsp"));
        renderer.setToolTipGenerator(new StandardCategoryToolTipGenerator());//创建提示标签

    }

    private static void addValue(List rztz,DefaultPieDataset dataset){
        int drxzs = 0;
        int drbjs = 0;
        int rwzs = 0;
        int jbzs = 0;
        int wbzs = 0;
        if(rztz != null && rztz.size()>0){
            for(int i=0; i<rztz.size();i++){
                GZRZrwtzVO vo = (GZRZrwtzVO)rztz.get(i);
                if(vo.getDrxzs() != null && !vo.getDrxzs().trim().equals("")){
                    drxzs = Integer.parseInt(vo.getDrxzs());
                }
                if(vo.getDrbjs() != null && !vo.getDrbjs().trim().equals("")){
                    drbjs = Integer.parseInt(vo.getDrbjs());
                }
                if(vo.getRwzs() != null && !vo.getRwzs().trim().equals("")){
                    rwzs = Integer.parseInt(vo.getRwzs());
                }
                if(vo.getJbzs() != null && !vo.getJbzs().trim().equals("")){
                    jbzs = Integer.parseInt(vo.getJbzs());
                }
                if(vo.getWbzs() != null && !vo.getWbzs().trim().equals("")){
                    wbzs = Integer.parseInt(vo.getWbzs());
                }
            }
        }

        dataset.setValue("当期新增",drxzs);
        dataset.setValue("当期(正常)办结",drbjs);
        dataset.setValue("任务总数",rwzs);
        dataset.setValue("已办总数",jbzs);
        dataset.setValue("未办总数",wbzs);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -