- 浏览: 831441 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (379)
- struts (5)
- hibernate (16)
- spring (16)
- ssh (20)
- MySQL (16)
- 数据库脚本 (2)
- DownLoad (1)
- GAE (5)
- Java (103)
- LoadRunner (2)
- VF (1)
- 学习资料 (24)
- 软件使用 (21)
- 通信类 (4)
- 生活 (3)
- J2ME (1)
- 心理学 (1)
- Linux (26)
- Android (3)
- Oracle (1)
- 面向对象概念&面试准备 (11)
- ExtJs (2)
- Google Map (1)
- Flex (47)
- 算法研究 (1)
- share (20)
- python (1)
- MongoDB (7)
- centos6 (13)
- C++ (8)
- DB2 (3)
- C# (1)
- 代码片段 (24)
- Lucene (2)
- php (1)
- NodeJS (1)
- Express (1)
最新评论
-
shua1991:
已阅,我表示同意。
Eclipse统计代码行数 -
nakedou:
写的不错,挺详细的
在CentOS中使用 yum 安装MongoDB及服务器端配置 -
sjp524617477:
好方法
Eclipse统计代码行数 -
simpletrc:
<script>ale ...
Java写到.txt文件,如何实现换行 -
csdn_zuoqiang:
Apache Ftp Server,目前是1.0.4,非常好的 ...
Apache FtpServer在64位系统下服务不能启动解决方法
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo" xmlns:maps="com.google.maps.*" fontSize="16" minWidth="1024" minHeight="768"> <fx:Script> <![CDATA[ import com.google.maps.*; import com.google.maps.services.ClientGeocoder; import com.google.maps.services.GeocodingEvent; import com.google.maps.services.GeocodingEvent; import com.google.maps.services.ClientGeocoderOptions; /***********************加载地图***********************************/ private function onMapReady(event:MapEvent):void{} //只是初始化地图,确定了以用户为中心的地图 /*******************************经纬度为参数*************************/ public function latlngToAddr(lat:Number, lng:Number):void{ //双击DataGrid 和 点击"查看路线"按钮执行这个函数 try{ var geocoder:ClientGeocoder = new ClientGeocoder(new ClientGeocoderOptions({language:'zh', countryCode:'CN'})); geocoder.reverseGeocode(new LatLng(lat, lng)); geocoder.addEventListener(GeocodingEvent.GEOCODING_SUCCESS, latLngToRight); //经纬度转化为地址名称 geocoder.addEventListener(GeocodingEvent.GEOCODING_FAILURE, latLngToError); //经纬度不能转化为地址名称 }catch(tError:TypeError){ trace("地图加载失败,请重试"); } } private function latLngToRight(event:GeocodingEvent):void{ var markArr:Array = event.response.placemarks; if(markArr != null){ trace(event.response.name); //35.907000,116.408000 trace(markArr[0]); //中国山东泰安东平县 @(35.937102, 116.470304) trace(markArr[1]); //中国山东泰安 @(36.20002, 117.088115) trace(markArr[2]); //中国山东 @(36.669227, 117.019896) trace(markArr[3]); //中国 @(35.86166, 104.195397) var xianArr:Array = String(markArr[0]).split(" @"); //县级 trace(xianArr[0]); //中国山东泰安东平县 trace(xianArr[1]); //(35.937102, 116.470304) var cityArr:Array = String(markArr[1]).split(" @"); //市级 trace(cityArr[0]); //中国山东泰安 trace(cityArr[1]); //(36.20002, 117.088115) var provinceArr:Array = String(markArr[2]).split(" @"); //省级 trace(provinceArr[0]); //中国山东 trace(provinceArr[1]); //(36.669227, 117.019896) var countryArr:Array = String(markArr[3]).split(" @"); //国家级 trace(countryArr[0]); //中国 trace(countryArr[1]); //(35.86166, 104.195397) } } private function latLngToError(event:GeocodingEvent):void{ //经纬度没有转化成地址位置时 trace("经纬度没有转化成对应的地址名称"); } /******************************地址为参数**************************************/ public function addrToAddr(addr:String):void{ try{ var myGeocoder:ClientGeocoder = new ClientGeocoder(new ClientGeocoderOptions({language:'zh', countryCode:'CN'})); myGeocoder.addEventListener(GeocodingEvent.GEOCODING_SUCCESS, geocodingUserAddrSuccess); myGeocoder.addEventListener(GeocodingEvent.GEOCODING_FAILURE, geocodingUserAddrFailure); myGeocoder.geocode(addr); }catch(tError:TypeError){ trace("地图加载失败,请重试!"); } } private function geocodingUserAddrSuccess(gEvt:GeocodingEvent):void{ //如果搜索当前用户的位置成功 var markArr:Array = gEvt.response.placemarks; if(markArr != null){ trace(gEvt.response.name); //三河市 trace(markArr[0]); //中国河北廊坊三河市 @(39.982924, 117.078211) var xianArr:Array = String(markArr[0]).split(" @"); //县级 trace(xianArr[0]); //中国河北廊坊三河市 trace(xianArr[1]); //(39.982924, 117.078211) } } private function geocodingUserAddrFailure(gEvt:GeocodingEvent):void{ trace("地址名称没有成功转化为对应经纬度"); } ]]> </fx:Script> <maps:Map id="mapID" horizontalCenter="0" y="100" width="80%" height="60%" language="zh-CN" countryCode="gbk" url="http://code.google.com/apis/maps/" key="ABQIAAAAEUQL_IqwWX4ZOcEtw0r7whRi_j0U6kJrkFvY4-OX2XYmEAa76BQc0gZPMJROw3owe9BMoRHM0FER_A"/> <mx:Button id="latlngButID" x="300" label="经纬度" click="latlngToAddr(35.907, 116.408);"/> <mx:Button id="addrButID" x="400" label="地址" click="addrToAddr('三河市');"/> </s:Application>
评论
2 楼
csdn_zuoqiang
2011-01-08
将 Label 变成 Button 的方法
滑鼠移過去有手的符號..
必須要增加幾個屬性...
<mx:Label useHandCursor="true" buttonMode="true" mouseChildren="false" />
必須增加三個屬性
useHandCursor="true"
buttonMode="true"
mouseChildren="false"
如果是其他物件像是Image 只要 useHandCursor , buttonMode 有設定就可以了..
就唯獨Label 比較特別... 要多設定一個 mouseChidren="false" 才會有反應
筆記一下... 因為常常忘記每次都要再重找...XD...今天才被問到...
滑鼠移過去有手的符號..
必須要增加幾個屬性...
<mx:Label useHandCursor="true" buttonMode="true" mouseChildren="false" />
必須增加三個屬性
useHandCursor="true"
buttonMode="true"
mouseChildren="false"
如果是其他物件像是Image 只要 useHandCursor , buttonMode 有設定就可以了..
就唯獨Label 比較特別... 要多設定一個 mouseChidren="false" 才會有反應
筆記一下... 因為常常忘記每次都要再重找...XD...今天才被問到...
1 楼
csdn_zuoqiang
2011-01-07
1.验证必填项,代码如下: <mx:Validator id="nameV" source="{nameTI}" property="text" requiredFieldError="必须输入用户名!"/> <mx:FormItem label="用户名:"> <mx:TextInput id="nameTI"/> </mx:FormItem> <mx:Button id="btn" label="提交" /> <mx:Validator id="nameV" source="{nameTI}" property="text" requiredFieldError="必须输入用户名!"/> <mx:FormItem label="用户名:"> <mx:TextInput id="nameTI"/> </mx:FormItem> <mx:Button id="btn" label="提交" /> Validator组件的功能是检测必填项。 我们把要检测的组件的名字写在source属性中,把要检测的组件的属性写在property属性中,然后自定义 requiredFieldError属性的值即可。 当然requiredFieldError属性的值也可以不定义,那么就会使用默认的提示文字。 上面的错误提示的文字有些看不清,只需要加上这样一句就OK了: <mx:Style> .errorTip{ fontSize: 12; 5. } </mx:Style> <mx:Style> .errorTip{ fontSize: 12; } </mx:Style> 2.控制检测时机 默认的情况下,Flex当我们切换组件焦点的时候检测 任意动作触发验证有两种写法。一种是在验证组件中指明触发器和触发动作。另一种是执行事件处理函数。 在验证组件中指明触发器和触发动作的语法如下所示。 <mx:验证组件类型 source="{输入源id}" property="输入源的属性" trigger="{触发器}" triggerEvent="触发事件"> 下面这个例子为按Tab键切换焦点已经不能触发检测动作了,只有单击“提交”按钮才会触发检测。 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="12" width="300" height="150"> <mx:Validator id="nameV " source="{nameTI}" property="text" requiredFieldError="必须输入姓名!" trigger="{btn}" triggerEvent="click" /> <mx:Validator id="ageV" source="{ageTI}" property="text" requiredFieldError="必须输入年龄!" trigger="{btn}" triggerEvent="click"/> <mx:FormItem label="姓名:"> <mx:TextInput id="nameTI"/> </mx:FormItem> <mx:FormItem label="年龄:"> <mx:TextInput id="ageTI"/></mx:FormItem> <mx:Button id="btn" label="提交" /> </mx:FormItem> </mx:Application> 在默认情况下,Validator 会在Flex发出valueCommit事件的时候进行检测,因此当焦点改变的时候,会自动进行检测。 而上面的源码中,则手动指定了进行检测的事件是btn按钮的click事件。 任意动作的触发也可采用代码触发验证方式。 <组件事件="验证组件.validate();"/> 验证组件都包含一个validate方法,用以代码执行验证。 比如: <mx:Button id="btn" label="提交" click="nameV.validate();" /> 3.验证失败处理 验证失败时需要做错误的提示及处理。验证组件中提供了丰富的错误类型,只是这些错误类型的提示是英文的,用户可能需要改变提示。修改错误提示的方法是修改组件中相应的错误类型属性。例PhoneNumberValidator组件中的wrongLengthError属性表示长度错误提示。 用户可根据需要修改相应的出错信息。其语法如下所示。 <验证组件错误类型属性="自定义错误提示"/> import mx.events.ValidationResultEvent; private function checkHandle():void{ //验证处理函数 if(emailV.validate().type==ValidationResultEvent.VALID){ Alert.show("电子邮件验证成功"); //提示"验证成功" } } <!--按钮组件,用于验证处理--> <mx:Button id="mySubmit" label="验证" click="checkHandle();"/> 注: If(验证组件id.validate().type==ValidationResultEvent.VALID) ValidationResultEvent类包含于“mx.events.*”中,是验证结果事件类。其中,INVALID值表示验证失败,VALID值表示验证成功。 Validator还有一个listen属性 ,它用来指定检测的错误信息显示在哪个组件上。例: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="12" width="300" height="200"> <mx:Validator id="nameV" source="{nameTI}" property="text" requiredFieldError="必须输入姓名!" trigger="{btn}" triggerEvent="click"/> <mx:Validator id="ageV" source="{ageTI}" property="text" requiredFieldError="必须输入年龄!"trigger="{btn}" triggerEvent="click"/> <mx:Validator id="sexV" source="{sexRBG}" property="selectedValue" requiredFieldError="必须选择性别!" trigger="{btn}" triggerEvent="click" listener="{maleRB}" /> <mx:FormItem label="姓名:" width="150"> <mx:TextInput id="nameTI"/> </mx:FormItem> <mx:FormItem label="年龄:" width="150"> <mx:TextInput id="ageTI"/> </mx:FormItem> <mx:FormItem label="性别:" direction="horizontal" width="150"> <mx:RadioButtonGroup id="sexRBG"/> <mx:RadioButton id="maleRB" groupName="sexRBG" label="男" value="1"/> <mx:RadioButton id="femaleRB" groupName="sexRBG" label="女" value="0"/> </mx:FormItem> <mx:Button id="btn" label="提交" /> </mx:Application> 对于性别的选择,由于检测两个RadioButton比较麻烦,采用了检测RadioButtonGroup的 selectedValue属性的方法,如果这个属性为空,就说明两个RadioButton都没有选择。但RadioButtonGroup并不是一个可视组件,检测的错误信息无法显示出来,所以这里就使用了listen属性将显示信息转到maleRB组件上进行显示了。 4.批量验证 创建一个表单 <mx:Form> <mx:FormItem label="当前部门: "> <mx:Text id="txtDepartName" width="100"/> </mx:FormItem> <mx:FormItem label="*新建角色名称(至多10个汉字): "> <mx:TextInput id="roleName" width="100%"/> </mx:FormItem> <mx:FormItem label="*新建角色名称(至多10个英文字母): "> <mx:TextInput id="roleEnName" width="100%"/> </mx:FormItem> <mx:FormItem label="角色描述(至多50个汉字): "> <mx:TextInput id="roleDescibe" width="100%"/> </mx:FormItem> <mx:ControlBar> <mx:Button id="btnSubmit" label="提交" click="btnSubmit_click()" /> <mx:Button id="btnClose" label="关闭" click="btnClose_click()" /> </mx:ControlBar> //创建验证控件,放在数组里 <fx:Declarations> <fx:Array id="roleNameValidators"> <mx:Validator id="roleNameValidator" source="{roleName}" property="text" required="true" requiredFieldError="请输入角色名" /> </fx:Array> //通过数组,创建组合验证 <fx:Array id="roleEnNameValidators"> <mx:StringValidator source="{roleEnName}" property="text" tooShortError="字符串太短了,请输入最少1个字符. " tooLongError="字符串太长了,请输入最长10个字符. " minLength="1" maxLength="10"/> <mx:RegExpValidator id="roleEnNameValidator" source="{roleEnName}" property="text" flags="g,i" expression="^[a-z]+$" noMatchError="请输入正确的英文字母" required="false"/> </fx:Array> </fx:Declarations> //代码 private function btnSubmit_click():void{ //分别检测验证是否通过,如果没有通过,则通过派发事件,主动显示错误提示 if(Validator.validateAll(roleEnNameValidators).length != 0){ roleEnName.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_OVER)); }else if(Validator.validateAll(roleNameValidators).length != 0){ roleName.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_OVER)); }else{ var par:powerModule = this.owner as powerModule; par.roleList.addItem({label:"大三辅导员", data:"3"}); var model:RoleModel = new RoleModel(); model.roleName = "大三辅导员"; model.roleEnName = "daisan"; model.roleID = par.personVo.departID + "." + model.roleEnName; model.ysxh = "010200"; model.roleDescribe = "测试用的"; AddRoleResult.token=roleService.add(model); } } 1.邮件验证 <mx:EmailValidator id="emailV" source="{txtEmail}" property="text" invalidCharError="非法字符" invalidDomainError="非法域" invalidIPDomainError="非法IP域" missingAtSignError="缺少@符" missingPeriodInDomainError="缺少域后缀" missingUsernameError="缺少用户名"/> 2.字符串长度验证 <mx:StringValidator source="{fname}" property="text" tooShortError="字符串太短了,请输入最少4个字符. " tooLongError="字符串太长了,请输入最长20个字符. " minLength="4" maxLength="20" trigger="{myButton}" triggerEvent="click" valid="Alert.show('字符串格式正确!');"/> 3.日期验证 <mx:DateValidator source="{txtDate}" property="text" required="true" requiredFieldError="请输入日期" allowedFormatChars="-" inputFormat="YYYY-MM-DD" trigger="{btnSubmit}" triggerEvent="click" valid="mx.controls.Alert.show('验证成功');" invalid="mx.controls.Alert.show('验证失败');" wrongDayError="日输入错误" wrongMonthError="月输入错误" wrongYearError="年输入错误" wrongLengthError="日期长度错误" invalidCharError="日期分隔符错误" formatError="inputFormat 配置错误"/> 4.英文字母验证 <mx:RegExpValidator id ="regExpValidator" source ="{txtInput}" property ="text" flags ="g,i" expression ="^[a-z]+$" valid ="handleResult(event)" invalid ="handleResult(event)" trigger ="{btnSubmit}" triggerEvent ="click" noMatchError ="请输入正确的英文字母" required ="false" /> 5.年龄验证 <mx:NumberValidator id="ageV" source="{ageTI}" property="text" domain="int" minValue="6" maxValue="100" lowerThanMinError="年龄过小!" exceedsMaxError="年龄过大!" integerError="年龄必须是整数!" invalidCharError='输入了非数字字符!' requiredFieldError="必须输入年龄!" trigger="{btn}" triggerEvent="click"/> 6.性别验证 <mx:Validator id="sexV" source="{sexRBG}" property="selectedValue" requiredFieldError="必须选择性别!" trigger="{btn}" triggerEvent="click" listener="{maleRB}"/> <mx:FormItem label="性别:" direction="horizontal" width="200"> <mx:RadioButtonGroup id="sexRBG"> <mx:RadioButton id="maleRB" groupName="sexRBG" label="男" value="1"/> <mx:RadioButton id="femaleRB" groupName="sexRBG" label="女" value="0"/> </mx:RadioButtonGroup> </mx:FormItem> 参考文献: 1. 用Validator组件检测必填项 http://blog.csdn.net/zzr173/archive/2008/09/14/2842409.aspx 2. 批量检查validator http://blog.csdn.net/supsteven/archive/2009/04/11/4062882.aspx 3. 一个让validator验证时,立即出现tooltip的小方法 http://blog.csdn.net/supsteven/archive/2009/04/15/4076343.aspx 4. flex的数据验证 http://blog.csdn.net/turkeyzhou/archive/2008/11/29/3397172.aspx
发表评论
-
Flex Spark皮肤定制
2011-08-03 23:18 1016转自 http://www.cnblogs.com/twave ... -
自定义ItemRenderer常遇到的警告unable to bind to property的解决办法
2011-08-03 22:02 1238<?xml version="1.0&q ... -
Flash Builder 代码格式化工具 Flex Formatter 下载地址
2011-08-03 17:09 1266http://sourceforge.net/projects ... -
提高Flex程序性能的10个秘诀
2011-07-29 09:20 838规则 # 1: 打扫代码 一般来说,保持代码清洁是一 ... -
Flex性能优化常用手法总结
2011-07-29 09:19 839随着Flex越来越多的被人们所熟知,越来越多的互联网也开始了R ... -
关于Flex4,textArea控件的htmlText属性被和谐。。。
2011-06-15 11:18 4826最近做的项目是网页游戏的聊天系统和好友系统,以前喜欢用fl ... -
修改flash builder注释里的@author
2011-06-15 00:18 2093在flash builder里,按Ctrl+Shift+D ... -
AS3中String转换成Boolean
2011-05-27 12:07 3439AS3中String转换成Boolean的规则和Java不一样 ... -
用 File.applicationDerectoryPath.resolv("text.txt")会报SecuriyError错误!
2011-05-26 16:26 1025用 File.applicationDerectoryPath ... -
关于actionscript3.0 中 ResourceBundle 绑定国际化资源文件
2011-04-02 20:17 1323一个简单的示例项目:mpcs LangUtil.a ... -
AIR2.0新特性
2011-03-24 10:29 1239按照类型用默认的程序打开文件 在AIR2.0中,你可以使 ... -
FlashSocket通信安全策略一点心得
2011-03-06 10:29 13701、问题描述 将flash发布为html格式 ... -
理解Loader、Bitmap和BitmapData对象之间的关系
2011-02-15 18:58 4093在Loader对象实例中,被 ... -
AS3 dynamic class
2011-02-13 14:58 2978动态类 “动态”类定义在运行时可通过添加/ 更改属性和方法来 ... -
Array的SortOn排序
2011-01-29 19:53 4061sortOn () 方法 AS3 func ... -
通过Http post方式发送json,然后获取返回的json
2011-01-24 20:36 14183思路:将发送的json转换为xml 示例代码 ... -
在JPanel中,如何将.png格式的图片设置为背景?
2011-01-18 20:14 1722yourJPanel.setBackgroundDecorat ... -
Flash中所支持的Html标签
2011-01-18 19:23 931Flash中所支持的Html标签 <a& ... -
AsWing JList
2011-01-18 14:24 2506JList类似于flex的dataGroup控件,可以自己定义 ... -
AS3.0的Socket通讯发送固定字符串(指定编码)
2011-01-12 17:08 1776flash客户端与服务端传输中文出现乱码的问题C++服务端每次 ...
相关推荐
flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...
该项目提供flex调用百度地图,并提供相关实例
这个是我按网上的GoogleMap教程自己制作的实例,开发环境为Flex Bulider3,其中还包含一些Flex下绘制矢量图形的小示例,相关教程大家可以在网上搜索,很多。下载后可以直接导入运行。
flex 电子地图flex 电子地图flex 电子地图flex 电子地图
arcgisviewer flex下地图入门实例
Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、...
这个实例是我看到得flex+hibernate 最经典的实例
用FLEX做地图,然后在地图上实现各种应用,我想大家都会非常的希望自己能够做到这样. 来我BLOG的,很多都是初级进入FLEX或者FLASH的朋友,所以我决定写一个系列的FLEX地图应用,但是到底会分成几篇,我也不敢说的那么...
用FLEX做地图, 回到正题,FLEX应用地图,我想大家都知道,做的最完善的就是YAHOO地图,可惜YAHOO地图没有中国什么事,所以做为国人,还是希望可以做自己国家的地图,然后才能有CASE可以做.这次我选用了,目前比较完善的...
谷歌地图实例代码,搭建flex google地图开发环境,步骤详解。
嗯 关于廖雪峰老师网站的学习笔记---flex弹性盒子实例篇
这是一些简单的flex实例,有利于初级学习flex的人学习。
下面代码是使用arggis的免费库“agslib-3.4-2013-06-30.swc”开发的在线谷歌地图和离线地图类。 实现理论:在线模式是根据谷歌地图提供的文件服务调用地图资源;离线模式估计本地文件访问离线文件。 当然你也可以将...
flex arcgis 加载天地图2.0地图源码
FLEX地图应用教程对于flex地图开发的初学者很有用。
广大Flash用户,8月5日,由于底图服务升级,需用户升级SWC文件,才能解决各位的地图底图不能显示的问题。 下载8月8日的SWC文件,解决: 1) 各位地图不显示; 2) 卫星图不显示; 3) 自此之后,百度地图底图...
Flex开发地图程序 小示例 可以缩放地图 取得经纬度点 设置显示的地图中心
教你怎样用FLEX做地图的教程 已经全了,下来看看~~~
Flex源码大合集可以直接将文件导入到Flex中,都是as的项目。我使用的是Flex4.5,其中如果缺少swc包,可以从所有的swc文件里面找
Flex Java通信实例Flex Java通信实例Flex Java通信实例Flex Java通信实例