- 浏览: 703997 次
- 性别:
- 来自: 福建
文章分类
最新评论
-
羽翼的心动:
同意2楼的说法,我们公司之前一个项目用过pageoffice, ...
poi导出excel文件工具类 -
贝塔ZQ:
poi实现导出excel文件,蛮麻烦的,用pageoffice ...
poi导出excel文件工具类 -
aishiqiang:
为什么我的项目配置好证书后,每次使用jenkinst自动构建包 ...
关于使用https协议,cas认证PKIX path building failed错误解决方法 -
zhongmin2012:
谢谢分享,正在想看
AST解析java源文件相关jar包 -
mybestroy1108:
感谢分享!受益良多!
Jboss7 JMS demo
老早就接触flex了,到今年6月份才应用到开发中,主要也就是图表方面的应用,虽说开源的图表很多,但自己开发起来的就是比较有成就感,来分享下几个简单的图表应用吧:
pie chart:
bar chart:
bar series:
2 bar chart:
jsp页面上通过标签引用图表:
http://code.google.com/p/as3corelib/source/checkout
pie chart:
<?xml version="1.0"?> <!-- @author 脉兜 @date 20110516 柱状图 使用说明: jsp页面调用flash需要传入initMethod参数, 该参数为js脚本的方法名,由flash调用该方法, 该方法返回json字符串 字符串格式: 格式demo:[{ "NAME": "USA", "VALUE": 35}] key需要双引号,字符串VALUE也用双引号,单引号转换不了 --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" horizontalAlign="center" verticalAlign="top" backgroundAlpha="0.1" paddingTop="0" paddingLeft="0" paddingBottom="0" paddingRight="0" backgroundColor="white" applicationComplete="init();"> <mx:Style> PieSeries { fills:blue, red, green,#298686, #B9EAC1, #F7F74B, #D30DD3, #FA3EAA, #313434; } .incomeSeries { fontSize:16; fontWeight:normal; labelAlign:top; } </mx:Style> <mx:Script> <![CDATA[ import mx.charts.HitData; import mx.controls.Alert; import com.adobe.serialization.json.JSON; import mx.collections.ArrayCollection; [Bindable] private var medalsAC:ArrayCollection = new ArrayCollection(); private function displayLabel(data:Object, field:String, index:Number, percentValue:Number):String { var temp:String= ("" + percentValue).substr(0,6); var name:String = ""; var showLen = 6; var i:int = data.NAME.length; if(i >=showLen ){ i = showLen; name = data.NAME.substr(0,i) + ".."; }else{ name = data.NAME; } return name + '\n(' + temp + "%)" + '\n' + data.VALUE; } private function init():void{ //参数获取页面执行的js函数,js函数返回数据 var jsonStr : String = ExternalInterface.call(Application.application.parameters.initMethod); //处理值为null的情况 jsonStr = jsonStr.replace("null",0); var arr:Array = (JSON.decode(jsonStr) as Array); for(var i: int = 0; i < arr.length; i++){ medalsAC.addItem({ NAME: arr[i]["NAME"], VALUE: arr[i]["VALUE"]}); } } ]]> </mx:Script> <!-- This Stroke is used for the callout lines. --> <mx:Stroke id="callouts" weight="1" color="black" alpha=".8" caps="round" /> <!-- This Stroke is used to separate the wedges in the pie. --> <mx:Stroke id="radial" weight="1" color="0xFFFFCC" alpha=".3"/> <!-- This Stroke is used for the outer border of the pie. --> <mx:Stroke id="pieborder" color="0x000000" weight="2" alpha=".5"/> <!-- 效果设置 --> <mx:SeriesInterpolate id="interpolate" duration="1000" /> <mx:PieChart id="chart" showDataTips="true" dataProvider="{medalsAC}" width="100%" height="100%"> <!-- --> <mx:series> <mx:PieSeries showDataEffect="interpolate" nameField="NAME" labelPosition="callout" styleName="incomeSeries" field="VALUE" labelFunction="displayLabel" calloutStroke="{callouts}" radialStroke="{radial}" stroke="{pieborder}" > <!-- Clear the drop shadow filters from the chart. --> <mx:filters> <mx:Array/> </mx:filters> </mx:PieSeries> </mx:series> </mx:PieChart> <!-- <mx:Legend dataProvider="{chart}" /> --> </mx:Application>
bar chart:
<?xml version="1.0"?> <!-- @author 脉兜 @date 20110518 项目阶段图表 使用说明: jsp页面调用flash需要传入initMethod参数和getYtitleMethod, initMethod参数为js脚本的方法名,由flash调用该方法, 该方法返回json字符串 字符串格式: 格式demo:[{ "NAME": "USA", "VALUE": 35}] key需要双引号,字符串value也用双引号,单引号转换不了 getXtitleMethod参数为获得x title的js函数名称,该方法返回名称即可 --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" horizontalAlign="left" verticalAlign="bottom" backgroundAlpha="0.1" backgroundColor="white" paddingTop="0" paddingLeft="0" paddingBottom="0" paddingRight="0" applicationComplete="init();"> <mx:Style> BarChart { horizontalAxisStyleName:myAxisStyles; verticalAxisStyleName:myAxisStyles; } .myAxisStyles { tickPlacement:none; } .incomeSeries { fontSize:9; fontWeight:bold; labelPosition:inside; labelAlign:right; fills:blue, red, green,#298686, #B9EAC1, #F7F74B, #D30DD3, #FA3EAA, #313434; } </mx:Style> <mx:Script> <![CDATA[ import mx.charts.series.items.BarSeriesItem; import mx.charts.chartClasses.Series; import mx.charts.ChartItem; import mx.charts.HitData; import mx.charts.chartClasses.IAxis; import com.adobe.serialization.json.JSON; import mx.collections.ArrayCollection; [Bindable] public var expenses:ArrayCollection = new ArrayCollection(); public function dtFunc(hd:HitData):String { return hd.item.name + ":" + hd.item.value; } //BarSeries labelFunction="displayLabel" // private function displayLabel(element:ChartItem, series:Series):String { // // Get a refereence to the current data element. // var data:BarSeriesItem = BarSeriesItem(element); // // return "第" + data.xValue + "阶段"; // } private function init():void{ xAxis.title = "bar chart demo";//ExternalInterface.call(Application.application.parameters.getXtitleMethod); //参数获取页面执行的js函数,js函数返回数据 var jsonStr : String = ExternalInterface.call(Application.application.parameters.initMethod); //var jsonStr : String = jsonStr = '[{ "NAME": "USA", "VALUE": 3},{ "NAME": "CN", "VALUE": 1}]';//debugger; //处理值为null的情况 jsonStr = jsonStr.replace("null",0); var arr:Array = (JSON.decode(jsonStr) as Array); for(var i: int = 0; i < arr.length; i++){ expenses.addItem({ name: arr[i]["NAME"], value: arr[i]["VALUE"]}); } } //LinearAxis labelFunction="defineLabel" //x坐标名称 // public function defineLabel(cat:Object, pcat:Object,ax:mx.charts.LinearAxis):String{ // return cat + ""; // } ]]> </mx:Script> <!-- Define custom colors for use as fills. --> <mx:SolidColor id="sc1" color="blue" alpha=".7"/> <!-- Define custom Strokes for the columns. --> <mx:Stroke id="s1" color="blue" alpha=".8"/> <mx:SeriesSlide id="slideIn" duration="1000" direction="right"/> <mx:BarChart id="myChart" dataProvider="{expenses}" showDataTips="true" width="100%" height="100%" dataTipFunction="dtFunc" > <mx:verticalAxis> <mx:CategoryAxis dataProvider="{expenses}" categoryField="name" /> </mx:verticalAxis> <mx:horizontalAxis> <mx:LinearAxis id="xAxis" baseAtZero="true" interval="1" maximumLabelPrecision="0"/> </mx:horizontalAxis> <mx:series> <mx:BarSeries fill="{sc1}" stroke="{s1}" styleName="incomeSeries" xField="value" showDataEffect="slideIn" /> </mx:series> </mx:BarChart> </mx:Application>
bar series:
<?xml version="1.0"?> <!-- @author 脉兜 @date 20110516 柱状图 使用说明: jsp页面调用flash需要传入initMethod参数和getYtitleMethod, @param initMethod 参数为js脚本的方法名,由flash调用该方法, 该方法返回json字符串 字符串格式: 格式demo:[{ "name": "USA", "value": 35}] key需要双引号,字符串value也用双引号,单引号转换不了 @param getYtitleMethod 参数为获得y title的js函数名称,该方法返回名称即可 @param interval 增长值 @param maximumLabelPrecision 最大精确度几位 --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" horizontalAlign="center" verticalAlign="top" backgroundAlpha="0.1" paddingTop="0" paddingLeft="0" paddingBottom="0" paddingRight="0" backgroundColor="white" applicationComplete="init();"> <mx:Style> ColumnChart { horizontalAxisStyleName:myAxisStyles; verticalAxisStyleName:myAxisStyles; } .myAxisStyles { tickPlacement:none; } .incomeSeries { fontSize:9; fontWeight:bold; labelPosition:inside; labelAlign:top; fills:blue, red, green,#298686, #B9EAC1, #F7F74B, #D30DD3, #FA3EAA, #313434; } </mx:Style> <mx:Script> <![CDATA[ import mx.charts.HitData; import flash.net.navigateToURL; import mx.charts.events.ChartItemEvent; import com.adobe.serialization.json.JSON; import mx.collections.ArrayCollection; [Bindable] private var medalsAC:ArrayCollection = new ArrayCollection(); public function dtFunc(hd:HitData):String { return hd.item.name + " = " + "<B>" + hd.item.value + "</B>"; } private function init():void{ //标题 yAxis.title = ExternalInterface.call(Application.application.parameters.getYtitleMethod); //增长值 yAxis.interval = ExternalInterface.call(Application.application.parameters.interval); //最大精确度几位 yAxis.maximumLabelPrecision = ExternalInterface.call(Application.application.parameters.maximumLabelPrecision); //参数获取页面执行的js函数,js函数返回数据 var jsonStr : String = ExternalInterface.call(Application.application.parameters.initMethod); //var jsonStr : String = jsonStr = '[{ "NAME": "USA", "VALUE": 15},{ "NAME": "CN", "VALUE": 17}]';//debugger; //处理值为null的情况 jsonStr = jsonStr.replace("null",0); var arr:Array = (JSON.decode(jsonStr) as Array); for(var i: int = 0; i < arr.length; i++){ medalsAC.addItem({ name: arr[i]["NAME"], value: arr[i]["VALUE"]}); } } //ColumnChart itemClick="handleClick(event)" /**/ private function handleClick(event:ChartItemEvent):void { var name : String = event.hitData.item.name; var value : String = event.hitData.item.value; //调用jsp页面js函数barClick事件参数1:name,参数2:value var url :URLRequest = new URLRequest('javascript:barClick("' + name + '", "' + value + '")'); navigateToURL(url, "_self"); } ]]> </mx:Script> <!-- Define custom colors for use as fills. --> <mx:SolidColor id="sc1" color="blue" alpha=".7"/> <!-- Define custom Strokes for the columns. --> <mx:Stroke id="s1" color="blue" alpha=".8"/> <mx:SeriesSlide id="slideIn" duration="1000" direction="up"/> <mx:ColumnChart id="columnChartID" height="100%" width="100%" showDataTips="true" dataProvider="{medalsAC}" dataTipFunction="dtFunc" itemClick="handleClick(event)" > <mx:verticalAxis> <mx:LinearAxis id="yAxis" baseAtZero="true" interval="1" maximumLabelPrecision="0"/> </mx:verticalAxis> <mx:horizontalAxis> <mx:CategoryAxis categoryField="name" /> </mx:horizontalAxis> <mx:series> <mx:ColumnSeries xField="name" yField="value" styleName="incomeSeries" fill="{sc1}" stroke="{s1}" showDataEffect="slideIn" /> </mx:series> </mx:ColumnChart> <!-- <mx:Legend dataProvider="{columnChartID}" width="137"/> --> </mx:Application>
2 bar chart:
<?xml version="1.0"?> <!-- @author 脉兜 @date 20110516 柱状图 使用说明: jsp页面调用flash需要传入以下参数: @param initMethod 参数为js脚本的方法名,由flash调用该方法, 该方法返回json字符串 字符串格式: 格式demo:[{ "name": "USA", "value": 35}] key需要双引号,字符串value也用双引号,单引号转换不了 @param getYtitleMethod 参数为获得y title的js函数名称,该方法返回名称即可 @param interval 增长值 @param maximumLabelPrecision 最大精确度几位 jsp页面需提供js函数barClick2 处理item Click事件,barClick2带三个参数:参数1:NAME,参数2:VALUE1,参数3:VALUE2 --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" horizontalAlign="center" verticalAlign="top" backgroundAlpha="0.1" backgroundColor="white" paddingTop="0" paddingLeft="0" paddingBottom="0" paddingRight="0" applicationComplete="init();"> <mx:Style> ColumnChart { horizontalAxisStyleName:myAxisStyles; verticalAxisStyleName:myAxisStyles; } .myAxisStyles { tickPlacement:none; } .incomeSeries { fontSize:9; fontWeight:bold; labelPosition:inside; labelAlign:top; } </mx:Style> <mx:Script> <![CDATA[ import mx.charts.ChartItem; import mx.charts.HitData; import flash.net.navigateToURL; import mx.charts.events.ChartItemEvent; import com.adobe.serialization.json.JSON; import mx.collections.ArrayCollection; [Bindable] private var medalsAC:ArrayCollection = new ArrayCollection(); public function dtFunc(hd:HitData):String { var ci:ChartItem = hd.chartItem; return hd.item.name + " = " + "<B>" + ci["yValue"] + "</B>" ; } private function init():void{ //标题 yAxis.title = ExternalInterface.call(Application.application.parameters.getYtitleMethod); //增长值 yAxis.interval = ExternalInterface.call(Application.application.parameters.interval); //最大精确度几位 yAxis.maximumLabelPrecision = ExternalInterface.call(Application.application.parameters.maximumLabelPrecision); //参数获取页面执行的js函数,js函数返回数据 var jsonStr : String = ExternalInterface.call(Application.application.parameters.initMethod); //var jsonStr : String = '[{ "NAME": "USA", "VALUE1": 15,"VALUE2": 5},{ "NAME": "CN", "VALUE1": 17,"VALUE2": 9}]';//debugger; //处理值为null的情况 jsonStr = jsonStr.replace("null",0); var arr:Array = (JSON.decode(jsonStr) as Array); for(var i: int = 0; i < arr.length; i++){ medalsAC.addItem({ name: arr[i]["NAME"], value1: arr[i]["VALUE1"], value2: arr[i]["VALUE2"] }); } } private function handleClick(event:ChartItemEvent):void { var name : String = event.hitData.item.name; var value1 : String = event.hitData.item.value1; var value2 : String = event.hitData.item.value2; //调用jsp页面js函数barClick事件参数1:name,参数2:value var url :URLRequest = new URLRequest('javascript:barClick2("' + name + '", "' + value1 + '","' + value2 + '")'); navigateToURL(url, "_self"); } ]]> </mx:Script> <!-- Define custom colors for use as fills. --> <mx:SolidColor id="sc1" color="blue" alpha=".7"/> <!-- Define custom Strokes for the columns. --> <mx:Stroke id="s1" color="blue" alpha=".8"/> <!-- Define custom colors for use as fills. --> <mx:SolidColor id="sc2" color="green" alpha=".7"/> <!-- Define custom Strokes for the columns. --> <mx:Stroke id="s2" color="green" alpha=".8"/> <mx:SeriesSlide id="slideIn" duration="1000" direction="up"/> <mx:ColumnChart id="columnChartID" height="100%" width="100%" showDataTips="true" itemClick="handleClick(event)" dataProvider="{medalsAC}" dataTipFunction="dtFunc" > <mx:verticalAxis> <mx:LinearAxis id="yAxis" baseAtZero="true" interval="1" maximumLabelPrecision="0"/> </mx:verticalAxis> <mx:horizontalAxis> <mx:CategoryAxis categoryField="name" /> </mx:horizontalAxis> <mx:series> <mx:ColumnSeries xField="name" yField="value1" styleName="incomeSeries" fill="{sc1}" stroke="{s1}" showDataEffect="slideIn" displayName="净收入" /> <mx:ColumnSeries xField="name" yField="value2" styleName="incomeSeries" fill="{sc2}" stroke="{s2}" showDataEffect="slideIn" displayName="预计收入" /> </mx:series> </mx:ColumnChart> <!----> <mx:Legend dataProvider="{columnChartID}" width="137"/> </mx:Application>
jsp页面上通过标签引用图表:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="hyproject_main_BarSeries" width="100%" height="100%" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"> <param name="movie" value="/flash/BarSeries.swf?initMethod=getFlashData2&getYtitleMethod=getBarYtitle&interval=0.1&maximumLabelPrecision=1" /> <param name="quality" value="high" /> <param name="bgcolor" value="white" /> <param name="wmode" value="transparent"/> <param name="allowScriptAccess" value="sameDomain" /> <embed src="/flash/BarSeries.swf?initMethod=getFlashData2&getYtitleMethod=getBarYtitle&interval=0.1&maximumLabelPrecision=1" quality="high" bgcolor="white" width="100%" height="100%" name="hyproject_main_BarSeries" align="middle" play="true" loop="false" wmode="transparent" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"> </embed> </object>
评论
3 楼
lym6520
2012-10-25
12-21 写道
楼主,有没有源文件下载啊,求解JSON是那里的啊,是你自己定义的吗?import com.adobe.serialization.json.JSON; 有源文件的话麻烦发给:yf900917@163.com 一份,不胜感谢...
http://code.google.com/p/as3corelib/source/checkout
2 楼
12-21
2012-10-25
求源文件啊
1 楼
12-21
2012-10-24
楼主,有没有源文件下载啊,求解JSON是那里的啊,是你自己定义的吗?import com.adobe.serialization.json.JSON; 有源文件的话麻烦发给:yf900917@163.com 一份,不胜感谢...
发表评论
-
apexUpload flash上传控件
2015-05-24 16:56 1711简单易用的flash附件上传,使用jquery封装调用。 ... -
Flex应用保存为图片
2012-05-29 22:28 1708好久没写点东西了,来分享一段代码, 关于Flex应用或 ... -
课程设计--家庭财务管理系统
2012-04-14 16:58 1873记得第一次接触FLEX3是在毕业那一年,那时已经工作了大半年了 ... -
flex使用BlazeDS远程调用java
2009-05-18 08:31 5650近段时间在学习flex和java如何调用的时候看到了Blaze ... -
Flex3 HTTPService 获得json数据
2009-04-29 09:02 2719json(JavaScript Object Notation ...
相关推荐
在压缩包中的“第9章_Flex_4系统组件:图表.ppt”文件,很可能是关于这个主题的详细讲解,可能包含了如何创建、配置图表的步骤,以及各种图表类型的示例。通过阅读这份PPT,我们可以更深入地了解Flex 4图表组件的...
"flex 3D饼图"是Flex图表组件中的一个特色类型,用于展示数据的分布情况,特别是在需要突出各个部分相对整体的比例时,3D效果可以增加视觉吸引力。 3D饼图在Flex中通常使用Spark或 Halo图表库来创建。Spark图表库...
9. **问题与解决方案**:作者可能分享了一些在使用Flex图表组件时遇到的问题及其解决方法,帮助读者避免常见的陷阱。 通过学习这个博客和实践FlexChart相关的例子,开发者能够掌握使用Flex创建高效、美观的数据可视...
本压缩包“FlexStudy”包含了几个使用Flex编写的示例程序,旨在帮助初学者理解和掌握Flex的基本用法。 1. **Flex的基础概念** - **ActionScript**: Flex的核心是ActionScript,一种面向对象的脚本语言,类似于...
在FLEX中,使用图表组件通常涉及以下几个知识点: 1. **安装与引入**:首先,你需要将AmCharts的库文件添加到你的FLEX项目中,这通常通过在项目配置中引用库路径或使用MXMLC编译器的命令行参数来实现。 2. **创建...
《Flex3 Java 中文教程》是一本专注于Adobe Flex 3技术的中文教程,结合了Java技术和Adobe Integrated Runtime(AIR)的应用,旨在帮助开发者深入理解和掌握使用Flex 3进行富互联网应用(RIA)开发的方法和技巧。...
此“Flex 3速记表 AS3.Flex.AIR最新版”资源包含了关于Flex 3的核心知识点,包括但不限于以下几个方面: 1. **控制元件**:Flex 3提供了一系列内置的UI组件,如Button、TextInput、List等,这些组件帮助开发者快速...
标题中提到的"Flex应用案例"可能包含了多种实际应用示例,这些示例可能涵盖以下几个方面: - 数据可视化:Flex的图表组件可以帮助开发者创建各种动态数据图表,如折线图、柱状图、饼图等,适用于数据分析和展示。 -...
开发者可以通过这些示例了解如何在实际项目中使用组件,它们通常包含可运行的Flex应用程序,展示不同类型的图表和各种定制选项,是快速上手的好帮手。 4. **Build**:这个文件夹可能包含了编译和打包amCharts组件所...
Flex 是Adobe公司开发的一个开源框架,专门用于构建富互联网应用程序(RIA)。它基于ActionScript编程语言和MXML标记语言,允许开发者创建具有复杂用户界面的动态Web应用。在本实例中,Flex被用来作为客户端的呈现层...
在这个“动态切片图 flex版”中,我们主要关注的是使用Adobe Flex这一编程框架实现动态切片图的方法。 Adobe Flex是一个开源框架,用于构建富互联网应用程序(RIA),它基于ActionScript语言和Flash Player运行时。...
在Flex报表和图表的开发中,有几个关键知识点需要掌握: 1. **MXML和ActionScript**:Flex的两种主要编程语言,MXML用于声明式编程,创建UI布局,而ActionScript用于编程逻辑,两者结合使用可以实现强大的功能。 2...
股票分析图通常包含以下几个关键元素: 1. 开盘价:表示当天交易的第一笔成交价格。 2. 收盘价:表示一天交易结束时的价格。 3. 最高价:表示当天交易中的最高价格。 4. 最低价:表示当天交易中的最低价格。 5. 成交...
通过阅读提供的“ArcGIS RIA开发实践--FLEX”文档,开发者可以了解到更多关于如何使用Flex API进行实际项目开发的细节,包括代码示例、最佳实践和常见问题解决方案。 总之,ArcGIS RIA开发结合了Flex的强大功能和...
在Flex中使用FusionCharts,你需要掌握以下几个关键知识点: 1. **FusionCharts库的集成**:首先,你需要在Flex项目中引入FusionCharts的SWC库。这可以通过在Flex构建路径中添加FusionCharts的库文件来实现,这样你...
在提供的压缩包文件中,有以下几个关键组件: 1. **ChartBase.war**:这是一个Web应用程序归档(WAR)文件,通常包含了一个Java Web应用程序的所有资源,包括Servlets、JSP页面、静态HTML、CSS、JavaScript文件等。...
在“TopoDemo”这个项目中,可能包含以下几个关键部分: 1. **TopologyCanvas**:这是主视图组件,它负责绘制拓扑图的整体布局。可能包含一个Sprite或Canvas作为画布,用于放置和操作节点和连接线。 2. **...
接下来,我们看到几个以数据可视化相关的目录:`heatmap`、`calendar`、`radar`和`treemap`。这些可能代表IBM ilog Elixir 3.0中用于展示决策结果或业务规则影响的可视化组件示例。例如: - `heatmap`可能包含了...