- 浏览: 585078 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
maleking:
太感谢了。新手搭建hadoop集群环境,dat ...
启动hadoop后没有datanodes的问题 -
system_mush:
NoClassDefFoundError: com/google/common/collect/Maps -
di1984HIT:
呵呵,我学习一下。
Katta源码分析 -
di1984HIT:
呵呵, 不管怎么说,挺好的。
zookeeper3.3学习笔记2:配置参数介绍 -
zoezhang:
谢谢了,可以解决
maven2报cannot be cast to javax.servlet.Filter错误解决
<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="540" height="400" creationComplete="init();" xmlns:net="flash.net.*" close="onClosingEvent(event)" mouseDown="this.nativeWindow.startMove()"> <s:layout> <s:BasicLayout/> </s:layout> <fx:Style source="Fetion.css"/> <fx:Script> <![CDATA[ import flash.filesystem.*; import mx.containers.ControlBar; import mx.containers.VBox; import mx.controls.Alert; import mx.controls.List; import mx.controls.Spacer; import mx.core.UIComponent; import mx.events.CloseEvent; import mx.managers.PopUpManager; import spark.components.TitleWindow; import spark.events.TitleWindowBoundsEvent; protected function titleWin_closeHandler(evt:CloseEvent):void { PopUpManager.removePopUp(evt.currentTarget as UIComponent); } protected function btn_clickHandler(evt:MouseEvent):void { PopUpManager.addPopUp(titleWin, this, true); PopUpManager.centerPopUp(titleWin); } private var user_xml:XML; private var myXMLURL:URLRequest; private var myLoader:URLLoader; private var so:SharedObject = SharedObject.getLocal("UserInfo"); private var panel:Panel; protected function button1_clickHandler(event:MouseEvent):void { var pattern:RegExp = /\d{11}/; if(pwd.text==""){ Alert.show("密码不能为空,请输入密码","提示信息"); } if(pattern.test(myNum.text)&&pattern.test(yourNum.text)){ //根据飞信api拼写url var _myNum:String = myNum.text; var _pwd:String = pwd.text; var _yourNum:String = yourNum.text; var _message:String = message.text; var url:String = "https://sms.api.bz/fetion.php?username="+ _myNum+"&password="+ _pwd +"&sendto="+ _yourNum +"&message=" + _message; //发送信息 var _urlRequest:URLRequest = new URLRequest(url); var _urlLoader:URLLoader = new URLLoader(); _urlLoader.load(_urlRequest); Alert.show("发送成功!","提示信息"); message.text = "" ; }else{ Alert.show("请检查输入的号码!输入的内容不是手机号","提示信息"); } } public function selectAll(it:spark.components.TextInput):void{ it.selectAll(); } //启动时的初始化设置 private function init():void{ initApplication(); //取得本地用户信息 myNum.text = so.data.myNum; yourNum.text = so.data.yourNum; pwd.text = so.data.pwd; //给textarea 加入 enter监听 message.addEventListener(KeyboardEvent.KEY_DOWN,sendMessageUseEnterKey); if(so.data.selected){ isSave.selected = true; }else{ isSave.selected = false ; } Alert.show("欢迎您使用本软件,如果有什么问题或者建议,请联系Email:xuqi86@gmail.com,谢谢!","提示"); //初始化用户列表 if(so.data.init!=1){ nodes = <root> <node label="1"> <name>许琦</name> <tel>123</tel> </node> </root> var file1:File = File.applicationStorageDirectory; file1 = file1.resolvePath("user.xml"); var fileStream1:FileStream = new FileStream(); fileStream1.open(file1, FileMode.WRITE); fileStream1.writeUTFBytes(nodes.toXMLString()); fileStream1.close(); so.data.init=1; }else{ var file2:File = File.applicationStorageDirectory; file2 = file2.resolvePath("user.xml"); var fileStream2:FileStream = new FileStream(); fileStream2.open(file2, FileMode.READ); nodes = XML(fileStream2.readUTFBytes(fileStream2.bytesAvailable)); fileStream2.close(); } } private function trayClick():void{ } //监听到按键执行事件 private function sendMessageUseEnterKey(evt:KeyboardEvent):void { if(evt.keyCode==13) { var pattern:RegExp = /\d{11}/; if(pwd.text==""){ Alert.show("密码不能为空,请输入密码","提示信息"); } if(pattern.test(myNum.text)&&pattern.test(yourNum.text)){ //根据飞信api拼写url var _myNum:String = myNum.text; var _pwd:String = pwd.text; var _yourNum:String = yourNum.text; var _message:String = message.text; var url:String = "https://sms.api.bz/fetion.php?username="+ _myNum+"&password="+ _pwd +"&sendto="+ _yourNum +"&message=" + _message; //发送信息 var _urlRequest:URLRequest = new URLRequest(url); var _urlLoader:URLLoader = new URLLoader(); _urlLoader.load(_urlRequest); Alert.show("发送成功!","提示信息"); message.text = "" ; }else{ Alert.show("请检查输入的号码!输入的内容不是手机号","提示信息"); } } } private function onClosingEvent(event:Event):void{ //保存用户数据 if(isSave.selected){ so.data.myNum = myNum.text; so.data.yourNum = yourNum.text; so.data.pwd = pwd.text; so.data.selected = true ; }else{ so.data.myNum = ""; so.data.yourNum = ""; so.data.pwd = ""; so.data.selected = false ; } saveXML(); this.close(); } //添加用户里确认按钮的click protected function button2_clickHandler(event:MouseEvent):void { var newBeginNode:XML = <node label={nodes.children().length()+1}> <name>{username.text}</name> <tel>{telephone.text}</tel> </node> nodes.appendChild(newBeginNode); xmlListColl.source = nodes.children() ; // fileReference.save(nodes, "user.xml"); saveXML(); PopUpManager.removePopUp(titleWin); } private function logout(event:CloseEvent):void { if(event.detail == Alert.YES) { var deleteNode:int = common.selectedIndex; delete nodes.node[deleteNode]; xmlListColl.source = nodes.children() ; saveXML(); } } private function getItemValue(evt:Event):void{ // Alert.show("你点了common.labelField: ["+common.labelField + '] common.selectedIndex: ['+ common.selectedIndex + '] list1.selectedItem: ['+common.selectedItem+']'); if(common.selectedIndex!=-1){ Alert.show("确认删除吗?","重要提示",Alert.YES|Alert.NO,null,logout); }else{ Alert.show("请选择要删除的好友!"); } } private function saveXML():void{ var file:File = File.applicationStorageDirectory; file = file.resolvePath("user.xml"); var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.WRITE); fileStream.writeUTFBytes(nodes.toXMLString()); fileStream.close(); } private function readXML():void{ var file:File = File.applicationStorageDirectory; file = file.resolvePath("user.xml"); var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.READ); nodes = XML(fileStream.readUTFBytes(fileStream.bytesAvailable)); fileStream.close(); } /* * * */ private var dockImage:BitmapData; //初始化Application里调用此方法,完成上面的第一步: public function initApplication():void{ var loader:Loader=new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE,prepareForSystray);//这里就是完成第一步的任务须,这个prepareForSystray就是对托盘的生在和菜单的控制 loader.load(new URLRequest("1.gif"));//这里先要加载托盘图标的小图片 this.addEventListener(Event.CLOSING,closingApplication);//设置关闭体的事件 } //关闭窗体的事件 public function closingApplication(event:Event):void{ event.preventDefault();//阻止默认的事件 Alert.yesLabel="关闭"; Alert.noLabel="最小化"; Alert.show("关闭还是最小化","关闭吗?", 3, this, alertCloseHandler);//弹出自定义的选择框, 关于Alert的详细用法,参考官方文档或我前面的相关文章. } //根据用户的选择来判断做什么,这里选择是就是关闭,选择否(Mini)就是最小化到托盘. private function alertCloseHandler(event:CloseEvent):void{ saveXML(); if(event.detail==Alert.YES){ closeApp(event); }else{ dock();//最小化到托盘 } } //生成托盘 public function prepareForSystray(event:Event):void{ dockImage=event.target.content.bitmapData; if(NativeApplication.supportsSystemTrayIcon){ setSystemTrayProperties();//设置托盘菜单的事件 SystemTrayIcon(NativeApplication.nativeApplication.icon).menu=createSystrayRootMenu();//生成托盘菜单 } } public function createSystrayRootMenu():NativeMenu{ var menu:NativeMenu = new NativeMenu(); var openNativeMenuItem:NativeMenuItem = new NativeMenuItem("打开");//生成OPEN菜单项 var exitNativeMenuItem:NativeMenuItem = new NativeMenuItem("退出");//同理 openNativeMenuItem.addEventListener(Event.SELECT, undock); exitNativeMenuItem.addEventListener(Event.SELECT, closeApp);//添加EXIT菜单项事件 menu.addItem(openNativeMenuItem); menu.addItem(new NativeMenuItem("",true));//separator menu.addItem(exitNativeMenuItem);//将菜单项加入菜单 return menu; } //设置托盘图标的事件 private function setSystemTrayProperties():void{ SystemTrayIcon(NativeApplication.nativeApplication .icon).tooltip = "PP飞信"; SystemTrayIcon(NativeApplication.nativeApplication .icon).addEventListener(MouseEvent.CLICK, undock); stage.nativeWindow.addEventListener(NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING, nwMinimized); } //最小化窗体 private function nwMinimized(displayStateEvent:NativeWindowDisplayStateEvent):void { if(displayStateEvent.afterDisplayState == NativeWindowDisplayState.MINIMIZED) { displayStateEvent.preventDefault();//阻止系统默认的关闭窗体事件 dock();//将程序放入托盘 } } //将本地应用程序放到托盘 public function dock():void { stage.nativeWindow.visible = false; //设置本地程序窗体不可见 NativeApplication.nativeApplication.icon.bitmaps = [dockImage];//设置托盘的图标 } //激活程序窗体 public function undock(evt:Event):void { stage.nativeWindow.visible = true;//设置本地程序窗体可见 stage.nativeWindow.orderToFront();//设置本地程序窗体到最前端 NativeApplication.nativeApplication .icon.bitmaps = [];//将托盘图标清空 } //关闭程序窗体 private function closeApp(evt:Event):void { stage.nativeWindow.close(); } ]]> </fx:Script> <fx:Declarations> <net:FileReference id="fileReference" /> <fx:XML id="nodes"/> <s:TitleWindow id="titleWin" title="添加用户" width="320" height="150" close="titleWin_closeHandler(event);" > <s:layout> <s:HorizontalLayout verticalAlign="middle" paddingLeft="10" paddingRight="10" paddingTop="10" paddingBottom="10" /> </s:layout> <s:Label text="名字:" fontSize="16"/> <mx:TextInput id="username" fontSize="16" width="60" height="25"/> <s:Label text="手机号:" fontSize="16"/> <s:TextInput id="telephone" fontSize="16" width="120" height="25"/> <s:controlBarLayout> <s:HorizontalLayout verticalAlign="contentJustify" paddingLeft="70" paddingRight="10" paddingTop="10" paddingBottom="10" /> </s:controlBarLayout> <s:controlBarContent> <s:Button x="381" y="305" label="确定" width="60" fontSize="16" left="30" top="10" bottom="10" click="button2_clickHandler(event)"/> <s:Button x="454" y="305" label="取消" width="60" fontSize="16" right="30" top="10" bottom="10" click="{PopUpManager.removePopUp(titleWin)}"/> </s:controlBarContent> </s:TitleWindow> </fx:Declarations> <s:Panel id="main" left="1" right="1" top="0" bottom="1" title="PP飞信" fontSize="16"> <s:Group x="10" y="37" width="343" height="81" color="#0A1416" rollOverColor="#5C99F4"> <s:Label x="13" y="15" text="我的号码:" fontSize="16"/> <s:TextInput id="myNum" x="82" y="10" fontWeight="bold" textAlign="right" width="120" height="25" focusIn="selectAll(myNum);" fontSize="18"/> <s:Label x="214" y="15" text="密码:" fontSize="16"/> <s:TextInput id="pwd" x="252" y="10" height="25" width="81" displayAsPassword="true" focusIn="selectAll(pwd)" fontSize="18" textAlign="right"/> <s:Label x="12" y="50" text="对方号码:" fontSize="16"/> <s:TextInput id="yourNum" x="82" y="46" width="120" height="25" textAlign="right" fontWeight="bold" text="{common.selectedItem.tel}" focusIn="selectAll(yourNum)" fontSize="18"/> <s:CheckBox id="isSave" x="230" y="45" label="保存密码" fontSize="16"/> </s:Group> <s:Label x="25" y="12" text="用户信息" fontSize="16"/> <s:Label x="25" y="126" text="发送消息:" fontSize="16"/> <mx:TextArea id="message" x="10" y="149" width="343" height="149" text="{alwaysSay.selectedItem.value}" fontSize="16" /> <s:Button x="216" y="309" label="发送" click="button1_clickHandler(event)" fontSize="16" width="60"/> <s:Label x="11" y="312" text="常用短语:" fontSize="16"/> <mx:VRule x="363" y="20" height="301"/> <mx:Accordion id="accorion" color="0x323232" width="153" height="288" y="10" x="373" fontSize="16"> <!-- Define each panel using a VBox container. --> <mx:VBox label="常用联系人" fontSize="16"> <s:List id="common" width="151" height="263" textAlign="left" labelField="name" fontSize="16"> <s:XMLListCollection id="xmlListColl" source="{nodes.children()}" /> </s:List> </mx:VBox> </mx:Accordion> <s:DropDownList id="alwaysSay" x="82" y="307" height="25" width="120" labelField="name" prompt="请选择" fontSize="16"> <s:dataProvider> <mx:ArrayCollection> <fx:Object name="我想你了" value="我想你了"/> <fx:Object name="你好!" value="你好!"/> <fx:Object name="在干吗" value="在干吗"/> <fx:Object name="上网说" value="上网说"/> <fx:Object name="我爱你" value="我爱你"/> </mx:ArrayCollection> </s:dataProvider> </s:DropDownList> <s:Button x="381" y="305" label="添加" width="60" click="btn_clickHandler(event);" fontSize="16"/> <s:Button x="454" y="305" label="删除" width="60" click="getItemValue(event);" fontSize="16"/> <s:Button x="288" y="309" label="退出" width="60" click="closingApplication(event);"/> </s:Panel> </s:WindowedApplication>
发表评论
-
Adobe AIR右键菜单和系统托盘(Tray)功能以及实现方法
2010-04-07 17:42 2049右键菜单: var mainMenu:N ... -
Flex AIR 无边框、移动的实现
2010-04-07 16:47 1736首先修改 Dictionary-app.xml 如下: &l ... -
16款必备 Adobe AIR应用程序推荐
2010-04-07 15:51 2823Adobe AIR以其易用性和跨平台支持,已经越来越受到桌面应 ... -
关于Flex 4 里 TextInput 和TextArea 不能输入中文的问题
2010-04-07 12:31 4567由于Flash Builder 4 默认使用的 ... -
Using an XML data provider with the Spark List control in Flex 4
2010-04-06 16:21 2017Using an XML data provider ... -
Flash本地共享对象(SharedObject)
2010-04-06 15:20 5462Flash的本地共享对象是在用户机器上实现持久化存储的数据集合 ...
相关推荐
"Flex万年历记事本"是一个使用Flex技术实现的项目,它结合了日历功能和记事本特性,为用户提供了一种方便的方式来管理和记录日常生活中的事务。 在Flex源码中,我们可以期待看到以下几个关键知识点: 1. **MXML与...
总之,Flex4的拖放功能提供了一种直观且灵活的方式来增强用户体验,无论是简单的移动还是复杂的交互,都能通过DragManager和相关的事件处理来实现。通过对图片拖放功能的深入理解和实践,开发者可以创建更具吸引力和...
在这个特定的场景中,"Flex实现的xmpp消息发送接收"是指使用Flex技术来实现在Android、iOS等移动设备以及IE浏览器上的即时通讯功能。 XMPP(Extensible Messaging and Presence Protocol)是一种开放标准的协议,...
"Hello Flex4"是学习Flex4的基本入门项目,通常会展示如何创建一个简单的Flex应用程序,包括初始化一个新的Flex项目、设置基本的布局、添加第一个组件并显示“Hello Flex4”文本。这个过程中,开发者会接触到Flex ...
在本项目“一个用Flex做的项目 (功能非常强大!)”中,开发者利用Flex的强大功能,构建了一个具有丰富功能的应用程序。 1. Flex SDK:Flex应用程序的基础是Flex Software Development Kit (SDK),它包含了用于...
在FLEX 4中实现DATAGRID的过滤功能是一个涉及多个步骤的过程,但通过合理地组织代码和利用FLEX提供的API,我们可以创建出功能强大且用户友好的数据展示界面。掌握这一技术不仅能够提升应用程序的用户体验,还能够...
Flex4,全称为Adobe Flex 4,是Adobe公司推出的一款用于构建富互联网应用程序(Rich Internet Applications,RIAs)的框架。这个框架基于ActionScript 3.0编程语言和Flash Player或Adobe AIR运行时环境,为开发者...
在本例中,“刚学会Flex自己做的一个简单的聊天室”是一个初学者用Flex实现的简单聊天室应用,这展示了Flex的基本用法和功能。 1. Flex基础概念: - Flex框架:它是基于Apache OpenSource的Spark和MX组件集,提供...
使用的原理很简单: Flex-Form 接受用户输入 || ||使用RemoteObject方式就用户输入的数据封装成json格式传递到后台java bean || Java Bean()--->执行真正的Email发送----->回馈消息---->Flex-Form
Flex 4是Adobe Flex框架的一个重大升级,它引入了许多新的特性和改进,以提升富互联网应用程序(RIA)的开发效率和用户体验。在Flex 4中,最重要的变化之一是组件模型的改变,引入了Spark组件架构,它与原有的MX组件...
标题中的“flex结合spring activemq做了一个简易聊天室”涉及到的是使用Adobe Flex技术构建前端UI,通过Spring框架与ActiveMQ消息中间件进行通信,实现一个简单的聊天室应用。这个项目是一个很好的示例,展示了如何...
标题和描述都聚焦于对比Flex3与Flex4之间的差异,这是一种Adobe系统提供的开源框架,用于构建跨平台的桌面和移动应用程序...对于那些寻求利用最新技术改进其Flex应用程序的开发者来说,Flex4无疑是一个值得探索的选择。
这个"flex-menu.rar"压缩包包含了一个使用Flex 4构建的菜单组件,专为Flash Builder 4设计。Flash Builder 4是基于Eclipse IDE的开发工具,用于创建、测试和调试Flex和ActionScript项目。 Flex 4中的菜单系统是用户...
这个简易的MP3播放器展示了Flex4在创建交互式媒体应用方面的潜力,虽然功能可能相对简单,但涉及的技术层面广泛,包括多媒体处理、事件驱动编程、UI设计等多个方面。通过深入学习和实践,开发者可以创建更复杂、功能...
Flex的开发环境主要依赖Adobe Flash Builder,这是一个集成开发环境(IDE),支持编写MXML和ActionScript代码。安装Flash Builder时,你需要首先访问Adobe官方网站,下载对应版本的安装包,按照提示进行安装。安装...
- **从Flash Catalyst导入交互设计**:这是Flex4的一个新增功能,允许设计人员在不编写代码的情况下创建交互原型。 - **创建自定义Flash组件**:Flex4支持这一功能,使得开发者能够创建高度定制化的UI组件。 - **...
Flex 发送邮件前台代码示例 Flex 发送邮件前台代码示例 Flex 发送邮件前台代码示例
Flex 4是该框架的一个重要版本,引入了许多新功能和改进,使得开发者能够更加高效地创建动态、交互式的应用程序。Flex 4基于Adobe Flash Player和Adobe AIR运行时环境,允许开发者利用丰富的多媒体功能,包括视频、...
Flex4是一个基于ActionScript 3.0和Flash Player的开发平台,它提供了MXML和AS3两种编程语言,使得UI设计和业务逻辑分离,大大提高了开发效率。与之前的Flex版本相比,Flex4引入了全新的Spark组件架构,提供了更灵活...
在本案例中,我们关注的是如何使用Flex实现一个FlV格式的视频播放功能。 FlV(Flash Video)是一种流媒体文件格式,广泛用于在线视频分享和播放。由于其小巧的体积和良好的兼容性,FlV在Flash Player支持的平台中...