Flex开发总结--->完善中
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??Flex开发总结 ? 1、 ?介绍:虽然我们对java,js,html都很熟悉了,但是flex还是有很多地方需要我们注意,以免遇到问题就纠结半天,时间就白白浪费了,我将我在开发中遇到的技术点,易错点,常用点全部记录下来,这需要一个过程了,大家看了博客后有什么技术点可以留言,希望能越来越完善分享给大家。有什么问题可以加下面QQ: Java-QQ群:180258862;? 2、tree:实现数据绑定,默认选中菜单,自动展开菜单 ? ? <fx:XML id="dp"> <mx:Tree x="0" y="52" width="100%" height="100%" id="trees" dataProvider="{dp}" selectedIndex="0" openItems="{dp.node[0]}" ? 3、combox数据绑定: ??????? dp.addItem({cmbx_lblfield:"动态添加数据"}); ?<mx:ComboBox? width="106" id="nd" dataProvider="{dp}" selectedIndex="4" labelField="cmbx_field" ></mx:ComboBox> 4、获取浏览器的高度和宽度: ???????? ?this.stage.stageWidth; ?????????? this.stage.stageHeight; 5、Alert点击了取消按钮还是确定按钮,如果是确定按钮就触发事件: ????? private? function? alt():void{ ??????????Alert.show("确定提交吗?","系统提示",Alert.OK|Alert.NO,this,method); ?? ?} ? private function method(e:CloseEvent):void{ ????????????? if(e.detail==Alert.OK) ??????????? } ???? } 6、打开一个界面并居中显示: ??? var scu:titlewindow=new titlewindow(); 7、日期选择器(支持中文、年份选择): <mx:DateField? id="date" yearNavigationEnabled=true?formatString="YYYY-MM-DD" dayNames="[日,一,二,三,四,五,六]"? monthNames="[一,六,七,八,九,十,十一,十二]" /> 8、双击事件的实现: ?? btn.doubleClickEnabled = true; <mx:button id="btn" > ? 9、2个界面数据交互: ? 界面一代码Page1.mxml: private? var xzqdm:Page2= null; ? ?界面二代码Page2.mxml: ?private var abc:String="你好"; ?? private function double_grid(event:MouseEvent) ?10、界面布局:使用vbox和hbox布局。 11、得到datagrid表格选中的值: var str:String = this.dg.selectedItem["NAME"].toString(); <mx:DataGrid width="100%" height="100%" id="dg" dataProvider="{pageList}" click="dg_click()"> 12、加载xml文件: <mx:XML xmlns="" id="dataProviderXML" source="chinaArea.xml" /> 13、函数初始化: <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" <mx:Script> ?private function init():void{ ? Alert.show("初始化"); ?]]> </mx:TitleWindow/> 14、Java中的集合和flex中的集合互相转换 flex中的键值集合: ?var whereValue:Object = new Object();??whereValue={CODE:“你好”}; java中的键值集合:?? Map<String,String> where = new HashMap<String,String>(); 如果Java中的函数参数是map对象,在flex中直接传Object的键值格式给Java就行。 flex中的Array数组:var arr:Array =["Java","flex"]; java中的数组:? String[] str = ["java","felx"]; 如果Java函数返回值是string[],那么在flex中用获取 private function getZiDuan(event:ResultEvent):void ??} 15、flex中的异常处理机制try{}catch(){}:? private function getZiDuan():void 16、获取ID2中方法: this["txt_nihao"].text = "你好";? //动态给不确定的id赋值 txt_nihao.text="你好";//给固定的id赋值 <mx:TextInput id="txt_nihao"/> 17、flex和Java交互Ablanzd: ??<mx:RemoteObject id="simpleService" destination="SimpleService"> private? function fault_result(event:FaultEvent):void private function getZiDuan(event:ResultEvent):void ? private function init():void{ <mx:button? click="init()" label="点击"/> 18、反射,将从数据中获取的值绑定到多文本框,请慢慢看下下面代码,非常有用的; 注意:文本框的id必须要有相应规律,比如id="txt_数据库字段名_阿拉伯数字": //columnValue要比对的值,resultArr数据库中的值(对应Java中的格式List<Map<String,Object>>) ?private function getProperty(columnValue:String,resultArr:ArrayCollection):String{?//如果返回值是result变量,那么string可以改成Object //result是数组,temps是id编号(id='txt_1',id="txt_2",那么temps可以等于1或者2) ??private function setProperty(result:Object,temps:String):void{ this.setProperty(resultObjectG1,“id”);//绑定数据 19、移除DataGrid的行: ?for(var a:int=4; 10>a;a++){ //假设有10行 ?20、<flexlib:TreeGrid>运用:这是google的一个框架;在开发中运用多。 <mx:XML xmlns="" id="dataProviderXML" source="cqtk/wp/chinaArea.xml" /> ?<flexlib:TreeGrid 21、加载配置文件: private var currentNode:XML ; ?private function init_chinaArea_xml():void ?22、flex图片根据浏览器大小自动适应: ? <mx:Image source="@Embed(source='wawaw.jpg')" width="100%" height="100%" id="top_image" scaleContent="true" maintainAspectRatio="false" /> ?23、非常不错的flex实例网站: ? ? ? ?A. ?http://blog.minidx.com/2008/03/23/626.html (flex事例网站) ? ? ? ?B. 中国开源社区 ? ? ? C.http://resources.esri.com/help/9.3/arcgisserver/apis/flex/samples/index.html ? 在线arcGis for flex API ? ? ? D.Flex样式生成工具.swf 24、常用的flex第三方组建: ? ? ?agslib-1.3-2009-10-31.swc ? 用于mapArcgis for flex3.0开发 ? ? ? ? ??flex3d.swc ,CoverFlow_lib.swc ??第3方特效,一般用于相册 ? ? ?flexiframe.swc ?flex框架,可以支持html文件引用 ? ? ?FlexPaper.swc ? 文档在线浏览 ? ? ?pageGrid.swc ? 用于dategrid表格分页,自动分页,不用自己去分页了 ? ? IConUtility.as ?用于加载图片,可以到百度下载该文件。(原来用法:[Embed(source="1.png")]?private var myicon:Class;) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (现在用法:var Button btns = new Buttons;?btns.setStyle("icon",IconUtility.getClass(btns,"1.png",40,40));) 25、eclipse的flex代码格式化工具:FlexPrettyPrintCommand_0.9.0 26、flex中Image对象无法加载中文路径:从数据库中获取的图片路径在Image对象中无法显示,调试了很久,发现不支持中文路径 ? ? ?var img:Image = new Image(); ? ? //第一种加载图片路径(中文路径); 中文路径下,图片不能显示 ? ?//img.source="image/图片.png"; ? //第二种用英文路径; ? ?img.source="image/image.png"; 提示:flex中最好不要用中文路径,这样会导致图片无法正确显示 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |