工作辞了,找工作之余,学习了一下jfreechart图表生成,结合大虾们的著作,小弟进行了系统的总结如下(获益匪浅):
struts2与jfreechart结合首先需要一个插件包struts2-jfreechart-plugin-2.1.6.jar;然后导入jfreechart的
两个包以及struts2的7个应用包、包结构见附件a.jpg;附件有项目的压缩包,大家可以下载使用一下。
写一个公用的service类,里面包含生成柱状图、饼状图、折线图的方法,另附件提供一份jfreechart所有类和方法的
详细解释,你可以根据这些方法把图表设置的美轮美奂。
package aokunsang.chartControl;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.io.FileOutputStream;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
public class JFreeChartService {
//----------------------------------------获取饼状图开始-------------------------------------------------------
/**
* 获取饼状图
* @return
*/
public static JFreeChart createPieChart(){
PieDataset pieData = getPieDataset();
JFreeChart pieChart = ChartFactory.createPieChart3D("水果销量图", pieData, true, true, false);
PiePlot3D piePlot = (PiePlot3D)pieChart.getPlot();
piePlot.setBackgroundPaint(Color.WHITE);
piePlot.setLabelFont(new Font("黑体",Font.BOLD,15));
resetPlot(piePlot);
pieChart.getLegend().setItemFont(new Font("黑体",Font.BOLD,15)); //设置引用标签字体
pieChart.getTitle().setFont(new Font("华文行楷",Font.BOLD,32));
return pieChart;
}
private static PieDataset getPieDataset(){
DefaultPieDataset data = new DefaultPieDataset();
data.setValue("苹果", 260);
data.setValue("荔枝", 250);
data.setValue("橘子", 150);
data.setValue("香蕉", 140);
data.setValue("菠萝", 200);
return data;
}
private static void resetPlot(PiePlot3D pieplot){
String unitStyle = "{0}={1}({2})";
pieplot.setNoDataMessage("没有对应的数据,请重新查询");
pieplot.setNoDataMessageFont(new Font("华文行楷",Font.BOLD,21));
pieplot.setNoDataMessagePaint(Color.BLUE);
// pieplot.setToolTipGenerator(new StandardPieToolTipGenerator(
// unitStyle,
// NumberFormat.getNumberInstance(),
// new DecimalFormat("0.00%"))
// );
//设置图例显示样式
pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator(
unitStyle,
NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%"))
);
//设置引用标签显示样式
pieplot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator(
unitStyle,
NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
}
。。。。。。。
然后写三个Action,分别用于显示三种图例,它们的方法几乎相同。Action中都得定义一个JFreeChart,对象名字必须
为chart。
public class BarFreeChartAction extends ActionSupport {
private JFreeChart chart;
public JFreeChart getChart() {
return chart;
}
public void setChart(JFreeChart chart) {
this.chart = chart;
}
public String execute(){
this.setChart(JFreeChartService.createBarChart());
return SUCCESS;
}
}
最重要的就是struts.xml配置文件。
<package name="jfreechartPackage" extends="jfreechart-default" namespace="/">
<!-- 柱状图 -->
<action name="barFreeChartAction" class="aokunsang.action.BarFreeChartAction">
<result name="success" type="chart">
<param name="width">700</param>
<param name="height">400</param>
</result>
</action>
需要继承jfreechart-default.xml,可查看struts2-jfreechart-plugin-2.1.6.jar中org.apache.struts2.dispatcher包下面的struts-plugin.xml文件:
<struts>
<package name="jfreechart-default" extends="struts-default">
<result-types>
<result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult">
<param name="height">150</param>
<param name="width">200</param>
</result-type>
</result-types>
</package>
</struts>
最后就是简单的jsp文件了:
<html>
<head>
<title>jfreechart的图例</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="Content-Type" content="UTF-8">
<body>
<center>饼状图和柱状图的效果呈现如下</center>
饼状图(3D图):<br/>
<img border="0" src="pieFreeChartAction.action"><p> </p>
柱状图(3D图):<br/>
<img border="0" src="barFreeChartAction.action"><p> </p>
折线图(非3D图):<br/>
<img border="0" src="lineFreeChartAction.action">
</body>
</html>
- 大小: 36.8 KB
- 大小: 79.7 KB
- 大小: 88.7 KB
分享到:
相关推荐
本篇文章将深入探讨如何在Struts2框架下利用JFreeChart创建柱状图和折线图。 **JFreeChart简介** JFreeChart是一个强大的Java图表库,它支持生成各种类型的图表,包括柱状图、折线图、饼图、散点图等。JFreeChart...
总结一下,"Struts2+JFreeChart+Myeclipse实现饼状图,柱状图,折线图"这一主题涉及到以下几个关键知识点: 1. Struts2框架的基本概念和MVC设计模式。 2. JFreeChart库的使用,包括创建数据集、生成图表以及转换为...
JFreeChart 是一个开源的Java库,用于生成高质量的2D图表,如折线图、饼图、柱状图和堆栈柱状图等。它广泛应用于数据分析、报告和应用程序中,提供丰富的自定义选项来满足各种视觉需求。在本项目中,你将找到能够...
【JfreeChart与Struts2结合使用】 JFreeChart是一个强大的Java图表库,它提供了丰富的图表类型,如柱状图、饼图、折线图、散点图等,用于数据可视化。Struts2是一个流行的MVC框架,常用于构建企业级Web应用。将...
public JFreeChart createChart(String Ytitle, String title, CategoryDataset lineData, CategoryDataset barData) { //参考附件 return chart; } //struts 部分 <!--begin 维优特例 --> ...
而JFreeChart是一个强大的图表库,能够生成多种类型的图表,如折线图、柱状图、饼图等,非常适合用于数据可视化。将JFreeChart与Struts2整合,可以将动态生成的图表展示在Web页面上,为用户提供直观的数据展示。 ...
总的来说,JFreeChart和Struts2的结合使用,使得Java开发者能够方便地在Web应用中实现各种复杂的图表功能,从而提升数据可视化的质量和用户体验。这五种实践方法覆盖了从静态展示到动态交互,从直接输出到异步加载的...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的图表,包括饼图、柱状图和折线图。在Java应用中,JFreeChart是一个不可或缺的工具,尤其在数据分析、报表生成或可视化数据的场景下。下面我们将深入...
**JFreeChart与Struts2整合实现图形报表详解** 在Java Web开发中,为了更好地展示数据,我们常常需要使用图表来直观地呈现信息。JFreeChart是一个强大的Java库,能够生成各种类型的图表,如柱状图、饼图、折线图等...
JFreeChart是一个用于Java的图表库,可以生成多种类型的图表,包括饼状图、柱状图、折线图、散点图等。它为开发者提供了丰富的API,可以定制图表的样式、颜色、标签等细节。JFreeChart的主要特性有: 1. **多种图表...
当这两个工具结合在一起时,可以实现动态生成图表并将其嵌入到Struts2控制的Web页面中。 首先,让我们深入了解JFreeChart。JFreeChart库提供了一组丰富的API,允许开发者以编程方式创建复杂的图表。它支持多种图表...
JFreeChart则是一个强大的Java图表库,能够生成多种类型的图表,包括柱状图、圆饼图和曲线图,非常适合在数据可视化应用中使用。在Struts2.0中集成JFreeChart,可以为Web应用程序添加丰富的图形展示功能,让数据以...
在这个项目中,"struts2+jfreeChartStruts简单生成折线图"的实现展示了如何结合这两个工具来生成动态的、交互式的折线图。 首先,让我们深入理解Struts2框架。Struts2是基于Model-View-Controller(MVC)设计模式的...
Struts2+JFreeChart 柱状图Demo是一个典型的Java Web应用程序,它结合了Struts2框架、JFreeChart库以及可能的数据存储系统(如MySQL或Oracle),用于动态生成柱状图表。这个Demo旨在展示如何在实际项目中集成这些...
本教程将详细介绍如何使用Java和Struts2框架来实现在网页上显示各种图表,如折线图、柱状图和饼状图。 首先,我们需要引入图表库。常见的Java图表库有JFreeChart和Chart.js等。在这个案例中,我们可能使用...
JFreeChart则是一个强大的Java库,用于生成各种类型的图表,如折线图、柱状图、饼图等,非常适合在Java应用程序中用于数据可视化。在Struts2中集成JFreeChart,可以方便地在Web应用中创建动态图表,例如展示统计信息...
Struts2 是一个强大的MVC(Model-View-Controller)框架,而 JFreeChart 是一个Java库,用于生成各种图表,如折线图、柱状图、饼状图等。 Struts2 是 Apache 软件基金会的开源项目,它是Struts1的升级版,引入了...
总的来说,JFreeChart结合Struts 2可以轻松地在Web应用中实现数据可视化,通过柱状图、饼状图和折线图等多种图表形式,让复杂的数据变得直观易懂。通过阅读和理解"JFreeChartTest"中的代码,开发者可以快速掌握这一...