- 浏览: 1098701 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
skyesx:
这是2PC实现,更常用的是一个柔性事务的实现,可以参考http ...
Spring分布式事务实现 -
ddbird:
这第一句就不严谨“分布式事务是指操作多个数据库之间的事务”,显 ...
Spring分布式事务实现 -
呵呵6666:
基于互联网支付系统的微服务架构分布式事务解决方案http:// ...
Spring分布式事务实现 -
小黄牛:
写得不错,交流群:472213887
Spring分布式事务实现 -
jiaoqf321456:
这明明是用的apache的压缩,给ant.jar有半毛钱关系吗 ...
使用ant.jar进行文件zip压缩
1.servlet
2.web.xml
3.html中调用
package com.logcd.servlet; import java.awt.Color; import java.awt.Font; import java.awt.GradientPaint; import java.awt.RenderingHints; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServlet; 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.ValueAxis; import org.jfree.chart.labels.ItemLabelAnchor; import org.jfree.chart.labels.ItemLabelPosition; import org.jfree.chart.labels.StandardCategoryItemLabelGenerator; import org.jfree.chart.labels.StandardPieSectionLabelGenerator; import org.jfree.chart.labels.StandardXYItemLabelGenerator; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PiePlot; import org.jfree.chart.plot.PiePlot3D; import org.jfree.chart.plot.Plot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.category.BarRenderer3D; import org.jfree.chart.renderer.category.CategoryItemRenderer; import org.jfree.chart.renderer.category.LineAndShapeRenderer; import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; import org.jfree.chart.title.LegendTitle; import org.jfree.data.category.CategoryDataset; import org.jfree.data.category.DefaultCategoryDataset; import org.jfree.data.general.Dataset; import org.jfree.data.general.DefaultPieDataset; import org.jfree.data.xy.XYDataset; import org.jfree.data.xy.XYSeries; import org.jfree.data.xy.XYSeriesCollection; import org.jfree.ui.TextAnchor; import org.jfree.util.Rotation; public class JChartServlet extends HttpServlet { private static final long serialVersionUID = 1L; private static enum ChartType { BarChart,BarChart3D,PieChart,PieChart3D,LineChart,LineChart3D,XYLineChart } /** * 处理请求 */ public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { String type = request.getParameter("type"); ChartType chartType = getChartType(Integer.parseInt(type)); response.setContentType("image/jpeg"); JFreeChart chart = createChart(getDataSet(chartType),chartType); setChartStyle(chart); ChartUtilities.writeChartAsJPEG(response.getOutputStream(), 0.9f, chart, 480, 350, null); } /** * 创建图表 * @param dataset * @param chartType * @return */ public static JFreeChart createChart(Dataset dataset,ChartType chartType){ JFreeChart chart = null; switch(chartType){ case BarChart: chart = ChartFactory.createBarChart("水果产量图",// 图表标题 "水果种类",// X轴的显示标签 "产量",// Y轴的显示标签 (CategoryDataset)dataset, // 数据集 PlotOrientation.VERTICAL, // 图表方向:水平、垂直 true,//是否显示图例(对于简单的柱状图必须是false) false, false);//是否生成URL链接 break; case BarChart3D: chart = ChartFactory.createBarChart3D("水果产量图",// 图表标题 "水果种类",// X轴的显示标签 "产量",// Y轴的显示标签 (CategoryDataset)dataset, // 数据集 PlotOrientation.VERTICAL, // 图表方向:水平、垂直 true,//是否显示图例(对于简单的柱状图必须是false) false,//是否启用提示 false);//是否生成URL链接 break; case PieChart: chart = ChartFactory.createPieChart("水果产量图", (DefaultPieDataset)dataset, true, false, false); break; case PieChart3D: chart = ChartFactory.createPieChart3D("水果产量图", (DefaultPieDataset)dataset, true, false, false); break; case LineChart: chart = ChartFactory.createLineChart("水果产量图", "水果种类", "产量", (CategoryDataset)dataset, PlotOrientation.VERTICAL, true, false, false); break; case LineChart3D: chart = ChartFactory.createLineChart3D("水果产量图", "水果种类", "产量", (CategoryDataset)dataset, PlotOrientation.VERTICAL, true, false, false); break; case XYLineChart: chart = ChartFactory.createXYLineChart("苹果产量图", "月份", "产量", (XYDataset)dataset, PlotOrientation.VERTICAL, true, false, false); break; } return chart; } /** * 设置chart风格 * * @param chart */ public static void setChartStyle(JFreeChart chart) { // 设置一个背景,从渐到深的倾斜 chart.setBackgroundPaint(new GradientPaint(0.0F, 0.0F, Color.PINK, 10000F, 0.0F, Color.YELLOW)); chart.getTitle().setFont(new Font("SimSun", Font.BOLD, 12));// 标题的字体 Font font = new Font("黑体", Font.TRUETYPE_FONT, 10);// 公用字体 LegendTitle legend = (LegendTitle) chart.getLegend();// 图例 legend.setItemFont(font); chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); Plot plot = chart.getPlot(); if (plot instanceof CategoryPlot) { CategoryPlot categryPlot = (CategoryPlot) chart.getPlot();// 图表层 plot.setBackgroundAlpha(0.6f); plot.setForegroundAlpha(0.9F);// 设置透明度 CategoryAxis domain_axis = categryPlot.getDomainAxis(); domain_axis.setTickLabelFont(font);// X轴标尺字体 domain_axis.setLabelFont(font);// X轴标题标签字体 //横坐标数据倾斜45度 //domain_axis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); ValueAxis value_axis = categryPlot.getRangeAxis(); value_axis.setTickLabelFont(font);// Y轴标尺字体 value_axis.setLabelFont(font);// Y轴标题标签字体 // VALUE_TEXT_ANTIALIAS_OFF表示将文字的抗锯齿关闭 chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); CategoryItemRenderer renderer = chart.getCategoryPlot().getRenderer(); renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); //设置item(bar)标签值的位置是在上面还是在bar内 renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_CENTER)); if(renderer instanceof LineAndShapeRenderer){ ((LineAndShapeRenderer)renderer).setBaseShapesVisible(true);//显示折线图上的数据标志 } if(renderer instanceof BarRenderer3D){ ((BarRenderer3D)renderer).setItemLabelAnchorOffset(10D);// 设置柱形图上的文字偏离值 } renderer.setBaseItemLabelFont(new Font("Serif", Font.PLAIN, 10)); renderer.setBaseItemLabelsVisible(true); } if (plot instanceof PiePlot) { // 得到3D饼图的plot对象 PiePlot piePlot = (PiePlot) chart.getPlot(); plot.setBackgroundAlpha(0.6f); // 设置旋转角度 piePlot.setStartAngle(290); // 设置旋转方向:顺时针方向 piePlot.setDirection(Rotation.CLOCKWISE); // 设置透明度 piePlot.setForegroundAlpha(0.5f); piePlot.setLabelFont((new Font("宋体", Font.PLAIN, 12))); piePlot.setLabelGenerator(new StandardPieSectionLabelGenerator( "{0}:{1}({2})"));//名称、值、百分比 //设置扇区边框不可见 piePlot.setSectionOutlinesVisible(false); if(!(plot instanceof PiePlot3D)){ //设置扇区分离显示 piePlot.setExplodePercent("苹果", 0.2D); } } if(plot instanceof XYPlot){ XYPlot xyPlot = (XYPlot) chart.getPlot(); xyPlot.setBackgroundAlpha(0.6f); ValueAxis domain_axis = xyPlot.getDomainAxis(); domain_axis.setTickLabelFont(font); domain_axis.setLabelFont(font); ValueAxis range_axis = xyPlot.getRangeAxis(); range_axis.setTickLabelFont(font); range_axis.setLabelFont(font); XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) xyPlot.getRenderer(); renderer.setBaseShapesVisible(true);//显示数据标志 renderer.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator()); renderer.setBaseItemLabelsVisible(true); renderer.setBaseItemLabelFont(font); } } public static ChartType getChartType(Integer type){ ChartType chartType = ChartType.PieChart; switch(type){ case 0: chartType = ChartType.BarChart; break; case 1: chartType = ChartType.BarChart3D; break; case 2: chartType = ChartType.PieChart; break; case 3: chartType = ChartType.PieChart3D; break; case 4: chartType = ChartType.LineChart; break; case 5: chartType = ChartType.LineChart3D; break; case 6: chartType = ChartType.XYLineChart; break; } return chartType; } /** * 获取一个演示用的简单数据集对象 * * @return */ private static Dataset getDataSet(ChartType type) { switch(type){ case BarChart : case BarChart3D: case LineChart: case LineChart3D: DefaultCategoryDataset categorydataset = new DefaultCategoryDataset(); categorydataset.addValue(100, "北京", "苹果"); categorydataset.addValue(70, "上海", "苹果"); categorydataset.addValue(120, "广州", "苹果"); categorydataset.addValue(220, "北京", "梨子"); categorydataset.addValue(260, "上海", "梨子"); categorydataset.addValue(300, "广州", "梨子"); categorydataset.addValue(320, "北京", "葡萄"); categorydataset.addValue(370, "上海", "葡萄"); categorydataset.addValue(320, "广州", "葡萄"); categorydataset.addValue(490, "北京", "香蕉"); categorydataset.addValue(450, "上海", "香蕉"); categorydataset.addValue(400, "广州", "香蕉"); categorydataset.addValue(200, "北京", "荔枝"); categorydataset.addValue(230, "上海", "荔枝"); categorydataset.addValue(340, "广州", "荔枝"); return categorydataset; case PieChart: case PieChart3D: DefaultPieDataset pieDataset = new DefaultPieDataset(); pieDataset.setValue("苹果", 100); pieDataset.setValue("梨子", 200); pieDataset.setValue("葡萄", 300); pieDataset.setValue("香蕉", 400); pieDataset.setValue("荔枝", 500); return pieDataset; case XYLineChart: XYSeriesCollection xyDataset = new XYSeriesCollection(); XYSeries apple = new XYSeries("苹果"); for(int i=0;i<12;i++){ apple.add(i+1, (int)(500*Math.random())); } xyDataset.addSeries(apple); return xyDataset; } return null; } }
2.web.xml
<servlet> <servlet-name>JChartServlet</servlet-name> <servlet-class>com.logcd.servlet.JChartServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>JChartServlet</servlet-name> <url-pattern>/jChartImg</url-pattern> </servlet-mapping>
3.html中调用
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>JChart Test</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> </head> <body> <img src="./jChartImg?type=0"/> <img src="./jChartImg?type=1"/> <img src="./jChartImg?type=2"/> <img src="./jChartImg?type=3"/> <img src="./jChartImg?type=4"/> <img src="./jChartImg?type=5"/> <img src="./jChartImg?type=6"/> </body> </html>
- jcommon-1.0.16.jar (302 KB)
- 下载次数: 39
- gnujaxp.jar (226 KB)
- 下载次数: 37
- jfreechart-1.0.13.jar (1.4 MB)
- 下载次数: 42
发表评论
-
使用zxing.jar生成二维码
2015-10-15 13:52 01、ZxingCodeUtils /** * 使用Zx ... -
Java生成条形码与二维码
2015-09-29 11:02 0一、一维条形码 /** * 利用jbarcode.ja ... -
将html特殊码( &#x)转换成字符
2015-06-09 11:54 0public static void main(St ... -
unicode码的分布情况
2014-06-25 16:33 0******************************* ... -
使用servicemix实现FTP连接池
2013-06-13 13:17 0一、配置文件 <?xml version=" ... -
嵌入式运行HttpServer
2015-06-30 13:14 1749一、嵌入式运行Jetty并提供上传文件功能 1、定义处理请求的 ... -
Windows命令与BAT脚本示例整理
2013-05-30 16:50 0一、将后缀后为".txt-"的文件全部重命 ... -
使用Quartz执行定时任务
2012-05-24 11:00 0一、在application中运用 (1)定义任务 pac ... -
java访问FtpSever
2011-10-09 15:18 0使用apache common-net包来实现。 ... -
有关Hibernate Tools的使用
2010-12-24 15:20 0<一>、生成实体(Entiry)时,自定义反向生成 ... -
使用iText-2.1.7生成PDF
2010-11-25 21:30 0public class PDFUtil { /* ... -
使用iText-2.1.7生成word
2010-11-25 21:17 0public class RTFUtil { pu ... -
FusionCharts参数说明
2010-04-08 12:51 0功能特性 animation ... -
使用ant.jar进行文件zip压缩
2010-02-02 11:40 12485import java.io.BufferedInputS ... -
使用struts2中的codebehind插件
2010-01-11 13:10 0codebehind plugin是一个可以简化struts2 ... -
使用JUnit4
2010-01-04 14:23 3014一、介绍 JUnit4 基本 ... -
Eclipse JPA Plugin
2010-01-04 14:21 8868一、Hibernate Tools Hibernate ... -
关于Apache Mina
2009-11-18 10:13 7514一、介绍 MINA(Multipurpose Infr ... -
json-lib使用
2009-09-16 09:17 15300一、资源链接: http://json-lib.sourcef ... -
apache commons DbUtils
2009-07-22 20:58 9576一、关于DbUtils comm ...
相关推荐
**jFreeChart应用详解** jFreeChart是一款强大的Java图表库,它允许开发者在Java应用程序、Swing组件、Web应用程序以及服务器端生成各种高质量的图表,包括柱状图、饼图、线形图、散点图、甘特图等。这款开源库在...
**JFreeChart 应用详解 例子** JFreeChart 是一个功能强大的开源 Java 图形库,它为开发者提供了丰富的图表绘制能力,包括折线图、柱状图、饼图、散点图、甘特图等多种类型。这个中文教程将帮助初学者快速掌握 ...
### jfreechart应用_经典例题 #### 一、引言 `jfreechart`是一款用Java编写的开源图表库,它可以用来创建各种各样的图表,包括饼图、条形图、柱状图、折线图等。这些图表广泛应用于数据分析、数据可视化等领域。...
**JFreeChart 应用详解** JFreeChart 是一个开源的 Java 图表库,它为开发者提供了丰富的图表绘制功能,包括折线图、柱状图、饼图、散点图、甘特图等多种类型的图表。这个库在Java应用程序、Web应用、报表系统以及...
**JFreeChart应用实例** JFreeChart是一款强大的Java图表库,它允许开发者在应用程序、Swing组件、Web应用以及服务器端生成高质量的图表。在这个"JFreeChart应用实例"中,我们将深入探讨如何利用JFreeChart在Java ...
《图形报表JFreeChart在Eclipse环境下的应用DEMO》 在Java开发中,数据可视化是至关重要的,它能够帮助开发者和用户更好地理解和分析数据。JFreeChart是一款强大的开源图表库,提供了丰富的图表类型,如饼图、柱状...
通过本章的学习,读者将掌握如何在Tomcat上部署和发布基于JSP/Servlet的Web图表应用程序,为后续的JFreeChart应用打下基础。JFreechart是一个Java库,用于创建各种图表,如饼图、柱状图、线图等,适用于Web应用程序...
总的来说,JFreeChart 提供了一套完整的 API,使得在 Java 应用中创建复杂的图表变得简单易行。无论是用于数据分析还是展示,都能满足开发者的需求,实现高效、美观的可视化效果。通过熟练掌握 JFreeChart 的使用,...
6. **兼容性**:JFreeChart 与大多数 Java GUI 框架(如 Swing 和 JavaFX)兼容,可以轻松集成到现有的应用程序中。 在本教程中,java1234 将引导你完成以下学习路径: 1. **安装与引入**:如何将 JFreeChart 库...
4. 互联网产品:在Web应用或移动应用中,JFreeChart 可以生成交互式图表,提升用户体验。 总的来说,JFreeChart 1.0.17 是Java开发者实现数据可视化的重要工具,其强大的功能和易用性使其在众多图表库中脱颖而出。...
在提供的"压缩包子文件的文件名称列表"中,"jfreechart应用"可能包含了使用JFreeChart的示例代码或者预打包的JFreeChart库。这些资源对于初学者来说非常有帮助,因为它们可以直接运行,以便理解如何在SSH环境下集成...
标签“源码”意味着我们可以从 JFreeChartDemo 的源代码中学习到如何将 JFreeChart 应用到实际项目中,而“工具”则表明 JFreeChart 是一个强大的图形生成工具,可用于快速构建数据可视化应用。 至于提供的三个 rar...
这个特定的例子是将JFreeChart应用于Web工程中,解决了在Web环境下可能出现的乱码问题,确保了图表的清晰易读。 **1. 折线图** 折线图是一种常用的数据可视化方式,常用于显示数据随时间变化的趋势。在JFreeChart中...
在Linux服务器上部署JFreeChart应用时,由于系统默认字体与Windows或其他操作系统可能存在差异,可能会导致中文字符无法正常显示,即出现乱码现象。 首先,问题的根源在于Linux服务器可能缺乏支持中文字符的字体。...
在给定的示例中,你可以找到一个完整的JFreeChart应用,它已经被设计为在MyEclipse环境中运行。MyEclipse是一款功能强大的Java集成开发环境,特别适合进行Java Web项目的开发,包括JSP和Servlet。 **JSP图形示例** ...
4. **Web应用**:在Web应用中,JFreeChart 可以动态生成图表,实时反馈系统状态。 总的来说,JFreeChart 是一个功能强大且易用的Java图表库,无论是在桌面应用还是Web开发中,都能帮助开发者轻松实现数据可视化。...
在描述中提到的例子是一个基础的JFreeChart应用,旨在帮助初次使用者理解如何在Java项目中集成和使用这个库。 首先,要使用JFreeChart,你需要将下载的JFreeChart jar包添加到你的项目类路径中。这可以通过IDE(如...
`jfreechart-1.0.5-demo-all` 包含了 JFreeChart 库的 1.0.5 版本的演示代码和可执行的 JAR 文件,这对于学习和理解如何在实际项目中应用 JFreeChart 非常有帮助。 1. **JFreeChart 概述** - JFreeChart 是一个...