/**
*
*<p>Title: geCustomeCurrentFee</p>
*<p>Description:TODO 得到当前话费</p>
* @param @param mobileTeleNo
* @param @return 设定文件
* @return String 返回类型
* @throws
*/
public String getCustomeCurrentFee(){
String mobileTeleNo=HttpUtil.getParameter("mobileTeleNo");
HttpServletResponse response= ServletActionContext.getResponse();
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
response.setContentType("text/html; charset=GBK");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
try{
if(LoginUtil.getUserInfo()==null){
logger.debug("Session已失效!");
PrintWriter writer= response.getWriter();
writer.print("Session已失效,请重新登陆!");
response.flushBuffer();
return null;
}
try{
session.removeAttribute("JFreeChart_Deleter");
JFreeChart chart = createChart(mobileTeleNo);
String filename = ServletUtilities.saveChartAsPNG(chart, 215, 200, null, session);//宽度,长度
String graphURL = graphURL = request.getContextPath()+ "/servlet/DisplayChart?filename=" + filename;
PrintWriter writer= response.getWriter();
writer.print(graphURL);
response.flushBuffer();
} catch (IOException e1) {
logger.error(e1.getMessage());
return "";
}
}catch(Exception e){
try {
PrintWriter writer= response.getWriter();
writer.print("保存数据失败!");
response.flushBuffer();
return null;
} catch (IOException e1) {
logger.error(e.getMessage());
return "";
}
}
return null;
}
private JFreeChart createChart(String mobileTeleNo) throws Exception{
JFreeChart chart = null;
PieDataset data = this.createDataset(mobileTeleNo);
if(data != null){
PiePlot plot = new PiePlot(data);
plot.setDataset(data);
//整个标签包括连接线都不显示
plot.setLabelGenerator(null);
//没有数据时显示的消息
plot.setNoDataMessage("无法获取到该业务号码的话费信息");
//图例显示百分比:{0}表示选项,{1}表示数值,{2}表示所占比例
plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}:{1}元({2})"));
//设置是否忽略null值
plot.setIgnoreNullValues(true);
//设置是否忽略0值
plot.setIgnoreZeroValues(false);
chart = new JFreeChart("", JFreeChart.DEFAULT_TITLE_FONT, plot, true);
//可选,设置图片背景色
chart.setBackgroundPaint(Color.WHITE);
//RenderingHints做文字渲染参数的修改,VALUE_TEXT_ANTIALIAS_OFF表示将文字的抗锯齿关闭.
chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
chart.setBackgroundPaint(new Color(248,252,253));
//设置图例说明Legend上的文字字体
chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));
//设置图例说明Legend上的文字颜色
chart.getLegend().setItemPaint(new Color(43,74,120));
//设置图例说明Legend的边框
chart.getLegend().setBorder(0, 0, 0, 0);
chart.getLegend().setBackgroundPaint(new Color(248,252,253));
//设置饼图的边框颜色
chart.getPlot().setOutlinePaint(Color.WHITE);
chart.getPlot().setBackgroundPaint(new Color(248,252,253));
}
return chart;
}
private PieDataset createDataset(String mobileTeleNo) throws Exception {
DefaultPieDataset data = new DefaultPieDataset();
data.setValue("月租费", 13);
data.setValue("市话费", 3.36);
data.setValue("短信费", 25.6);
data.setValue("漫游费", 38);
data.setValue("国内长途", 26.45);
data.setValue("国际长途", 10);
return data;
}
分享到:
相关推荐
以上代码示例展示了如何利用JFreeChart创建并保存3D饼状图和柱状图。在实际应用中,你可能需要根据具体需求调整数据集和图表的样式,例如添加图例、改变颜色、设置字体等。 通过JFreeChart,开发者可以方便地在Java...
"3D饼状图示例", // 标题 dataset, // 数据集 true, // 显示图例 true, // 显示工具提示 false // 不显示URL ); PiePlot plot = (PiePlot) chart.getPlot(); plot.setStartAngle(45); // 设置起始角度 plot...
2. **3D饼状图的创建**:JFreeChart支持2D和3D饼图,3D效果增加了图表的视觉吸引力。你需要学习如何配置图表参数,如角度、深度,来实现三维效果。 3. **数据绑定**:将业务数据与图表关联,这通常涉及到数据结构的...
这个压缩包文件包含了一系列的示例,展示了JFreeChart库的强大功能,包括曲线图、柱形图、饼状图和区域图等。 1. **曲线图(Curve Chart)** 曲线图常用于展示连续的数据变化趋势,例如时间序列数据。JFreeChart提供...
"饼状图示例", // 图表标题 dataset, // 数据集 true, // 是否显示图例 true, // 是否生成工具提示 false); // 是否生成URL链接 // 设置3D效果 PiePlot3D plot = (PiePlot3D) chart.getPlot(); plot....
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的二维图表,如柱状图、饼状图、折线图等,并且支持2D和3D效果。在Struts 2框架中集成JFreeChart,可以方便地在Web应用中展示数据可视化结果,提升用户...
"3D 饼状图示例", dataset, true, true, true ); ``` 总的来说,JFreeChart 提供了丰富的功能,可以帮助开发者轻松创建美观且功能强大的饼状图。无论是简单的数据可视化还是复杂的报表制作,JFreeChart都是...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的2D和3D图表,如柱状图、折线图和饼状图等。在标题和描述中提到的问题,主要聚焦于两个关键点:中文乱码和数值显示。本文将详细解析这些问题以及如何...
在JFreeChart中,可以使用`PieDataset`来存储数据,然后调用`ChartFactory.createPieChart()`方法创建饼状图。你可以自定义各个扇区的颜色、标签和工具提示,还可以添加百分比标签或者动画效果。 **使用步骤** 1. ...
JFreeChart是一个强大的Java图表库,它允许开发者创建多种类型的2D和3D图表,如折线图、柱状图、饼图、散点图、甘特图等。这个库在IT领域,尤其是在Web应用程序中,被广泛用于数据可视化。在你提供的"jfreechart试例...
JFreeChart允许你创建具有多个细分的饼图,每个细分都有自己的颜色和标签,还可以添加阴影效果和3D视觉增强。 3. **折线图(Line Chart)**: 折线图用于展示数据随时间的变化趋势。JFreeChart支持多条折线在同一...
饼状图用于显示数据的比例关系,JFreeChart 可以生成普通饼状图、环形图以及带有3D效果的饼状图。每个扇区代表一个数据项,扇区的大小对应于该数据项在总数据中的比例。通过颜色和标签,用户可以轻松理解数据分布...
这部分代码片段展示了如何使用JFreeChart库创建并渲染一个3D饼状图的过程。接下来,我们将逐段分析这些代码,以便更好地理解其功能和作用。 #### 导入必要的库 ```java import java.awt.Color; import java.awt....
JFreeChart就是这样一款强大的开源库,专为Java开发者提供了绘制各种统计图表的功能,包括柱状图、折线图、饼状图等。本文将深入探讨JFreeChart的使用、功能以及如何通过它实现各种图表的绘制和处理。 **1. ...
### JFreeChart 教程:饼状图与柱状图详解 #### 一、JFreeChart简介 JFreeChart是一款开源的Java图表绘制库,它提供了丰富的API来创建各种统计图表,包括饼图、柱状图、折线图等。由于其强大的功能以及良好的文档...
**JFreeChart** 是一个Java库,用于生成高质量的图表,包括柱状图、曲线图、饼状图等多种类型的图表。这些图表适用于各种用途,如数据可视化、报告、应用程序界面等。JFreeChart库提供了丰富的功能,使得开发者可以...
JFreeChart的`PiePlot`类是构建饼状图的关键。你可以设置各个扇区的颜色、标签、百分比显示,以及添加阴影效果。还可以通过`Section`对象调整单个扇区的属性,使得图表更加直观易懂。 3. **线性图(Line Chart)**...
JFreeChart的强大在于其灵活性和多样性,能够生成二维、三维的各种图表类型,如柱状图、折线图和饼状图,为数据可视化提供了强大的支持。 一、JFreeChart简介 JFreeChart是一个纯Java编写的图表库,它允许开发者在...