图示:
LineChartAction 控制层
package cn.action; import java.awt.Color; import java.awt.Font; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.CategoryAxis; import org.jfree.chart.axis.ValueAxis; import org.jfree.chart.labels.StandardCategoryItemLabelGenerator; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.renderer.category.LineAndShapeRenderer; import org.jfree.chart.title.TextTitle; import org.jfree.data.category.DefaultCategoryDataset; import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial") public class LineChartAction extends ActionSupport { private JFreeChart chart; public String execute() throws Exception{ String title = "2014年股票K线走势"; //建立一个默认的种类数据集 DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(52.3d, "", "1M"); dataset.addValue(51.3d, "", "2M"); dataset.addValue(52.3d, "", "3M"); dataset.addValue(43.3d, "", "4M"); dataset.addValue(24.3d, "", "5M"); dataset.addValue(35.3d, "", "6M"); dataset.addValue(12.3d, "", "7M"); dataset.addValue(42.3d, "", "8M"); dataset.addValue(27.3d, "", "9M"); dataset.addValue(55.3d, "", "10M"); dataset.addValue(67.3d, "", "11M"); dataset.addValue(30.3d, "", "12M"); chart = ChartFactory.createLineChart(title, "月份", "增长率", dataset, PlotOrientation.VERTICAL, false, true, true); //设置标题的字体 chart.setTitle(new TextTitle(title,new Font("微软雅黑", Font.BOLD, 20))); //加入一个子标题 chart.addSubtitle(new TextTitle("财年分析",new Font("宋体", Font.BOLD, 15))); CategoryPlot plot = chart.getCategoryPlot(); //y 方向显示字体 ValueAxis y = plot.getRangeAxis(); y.setTickLabelFont(new Font("Arial", Font.BOLD, 12)); y.setLabelFont(new Font("宋体", Font.BOLD, 14)); //x 方向 CategoryAxis x = plot.getDomainAxis(); x.setTickLabelFont(new Font("Arial", Font.BOLD, 14)); x.setLabelFont(new Font("宋体", Font.BOLD, 14)); //线上显示数字 LineAndShapeRenderer lineAndShapeRenderer = (LineAndShapeRenderer)plot.getRenderer(); lineAndShapeRenderer.setShapesVisible(true); lineAndShapeRenderer.setItemLabelFont(new Font("宋体", Font.BOLD, 11)); lineAndShapeRenderer.setDrawOutlines(true); lineAndShapeRenderer.setUseFillPaint(true); lineAndShapeRenderer.setFillPaint(Color.GRAY); lineAndShapeRenderer.setItemLabelsVisible(true); lineAndShapeRenderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator()); return SUCCESS; } public JFreeChart getChart() { return chart; } public void setChart(JFreeChart chart) { this.chart = chart; } }
web.xml 配置
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name></display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
struts.xml 配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="Fav" extends="struts-default" namespace="/image"> <!-- 自定义结果类型 --> <result-types> <result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult"></result-type> </result-types> <!-- 相当于 1 张图片 --> <action name="pieChart" class="cn.action.LineChartAction"> <result name="success" type="chart"> <param name="width">700</param> <param name="height">450</param> </result> </action> </package> </struts>
index.jsp 页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>饼图显示</title> </head> <body> <img alt="饼图显示" src="image/pieChart.action"> </body> </html>
效果图:
相关推荐
5. **JFreeChart库**:JFreeChart是一款开源的Java图表库,可以生成多种类型的图表,如折线图、柱状图、饼图等。在广告管理系统中,JFreeChart用于展示广告投放效果、数据分析等,帮助管理者直观地理解广告数据,...
在本文中,我们将深入探讨如何使用S2SH(Struts2、Spring、Hibernate)框架,结合JFreeChart库和Ajax技术,动态生成统计图表。首先,我们需要理解这些组件的基本概念: **S2SH框架**: S2SH是Web开发中的一个流行...
JFreeChart是一个开源的Java图表库,它可以生成多种类型的图表,如饼图、柱状图、线图等。在投票系统中,JFreeChart用于根据投票数据生成统计图表,帮助用户直观地了解投票结果。开发者可以通过设置各种参数来自定义...
Struts2是一个强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发中,而JFreeChart则是一个用于创建统计图表的开源库。两者整合可以为Web应用提供丰富的图表展示功能,如饼图、柱状图和时间序列图等。...
JFreeChart则是一个强大的Java库,用于生成各种类型的图表,如柱状图、饼图、时间序列图等,非常适合于数据可视化。在Struts2中集成JFreeChart,可以让我们在Web应用中方便地展示动态生成的数据。 **1. JFreeChart...
在CRM系统中,JFreeChart可能被用来生成各种统计报告,如客户分布图、销售趋势图等,帮助管理者直观地理解业务状况。 在"CRM-master"这个压缩包中,很可能包含了CRM系统的源代码,包括Struts2的Action类、Spring的...
在这个项目中,Jfreechart可能被用来生成客户的统计报告,比如客户数量按月份的增长趋势图,或者不同类型的客户比例饼图,这些图表可以直观地展示数据,帮助管理者更好地理解和分析客户情况。 项目的文件名"crm...
你也可以结合其他服务器端技术,如Spring MVC或Struts,实现图表的动态生成。 ### 10. 示例代码 压缩包中的"编码解决方案"可能包含了详细的示例代码,这些代码将帮助你理解如何在实际项目中使用JFreeChart。建议...
数据采集项目源码是一个基于Java技术栈的项目,主要运用了Spring、Struts2和Hibernate三大框架,结合JFreeChart库来实现数据可视化。这个项目的核心目标是设计和实现一个功能丰富的调查问卷系统,能够帮助用户自定义...
JFreeChart是一个强大的图表生成库,而Struts则是一款流行的MVC(模型-视图-控制器)框架,用于构建企业级的Java Web应用。通过将这两者结合,JFreeStruts使得在Struts应用中创建和展示动态图表变得更加简单和高效。...
1. **多种图表类型**:JFreeChart支持包括折线图、柱状图、饼图、散点图、面积图、甘特图、热力图等多种图表类型,满足了不同类型的统计和分析需求。 2. **定制化能力**:通过丰富的API,开发者可以自由定制图表的...
JFreeChart是一个强大的Java图形库,可以生成多种类型的统计图表,包括饼图和柱形图。 生成饼图的步骤大致如下: 1. 使用Hibernate查询数据库,获取需要展示的数据。 2. 将数据转化为JFreeChart所需的格式,如设置...
jFreeChart是一个Java图表库,用于生成各种类型的统计图表,如折线图、柱状图、饼图等。在本项目中,jFreeChart可能用于生成报表或者数据显示,为用户提供直观的数据分析视图。 总的来说,这个项目实例展示了如何...
14. **统计网站流量图**:书中可能包含如何使用Struts创建统计功能,以及如何可视化展示网站流量数据,例如利用图表库如JFreeChart生成动态图表。 通过阅读《Struts应用开发完全手册》并实践提供的源代码,开发者...
JFreeChart是一个强大的Java图表库,它可以生成各种类型的图表,如柱状图、饼图、线图等。在S2SH项目中,我们可以通过JFreeChart来生成报表,例如从数据库中提取数据,转换为图表形式,以直观地展示数据统计结果。...
7. **JFreeChart连接数据库统计学生信息**:JFreeChart是一个用于Java的图表库,可以生成饼状图、柱状图等多种图表。在这里,它连接到数据库,根据学生信息生成统计图表,例如,统计各学院学生人数的饼状图,或者按...
Struts 2需要的jar包: 1.commons-fileupload.jar(commons项目中的关于文件上传的包, struts2.1.6版本后必须加入此文件) 2.commons-io.jar...统计图(JFreechart两个):jcommon-1.0.10.jar,jfreechart-1.0.6.jar
【JFreeChart网页实例】是基于Java的图表生成库JFreeChart的一个实际应用案例,它主要用于在Web环境中创建各种复杂的统计图表。这个实例项目是为了帮助开发者更好地理解和使用JFreeChart库,尤其对于初学者,提供了...