- 浏览: 305735 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
u014212273:
好文一枚
log4j日志配置 -
向奕昌:
你好,能否提供下你那个测试dll
Java调用.dll文件 -
GARUDA183:
谢谢分享。
Flex中文帮助文档以及ActionScript3的中文文档 -
木叶之舟:
感谢楼主分享
Flex中文帮助文档以及ActionScript3的中文文档 -
游其是你:
呵呵,谢谢啦,好人一生平安~
Flex中文帮助文档以及ActionScript3的中文文档
Flex的RIA应用程序托盘和QQ提醒功能
托盘功能,是应用程序在最小化或关闭时,隐藏窗口,将应用程序显示在托盘处,不显示在任务栏中.还有类似于QQ提醒功能的实现.
AIR程序的WindowApplication文件的mxml;
<?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApplication()"> <mx:Style source="css/CSS.css"/> <mx:Script> <![CDATA[ import mx.controls.Alert; import mx.core.UIComponent; import mx.core.Container; import mx.events.ItemClickEvent; import mx.events.CloseEvent; import flash.display.BitmapData; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.desktop.NativeApplication; 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("png/systray_icon_16.png"));//这里先要加载托盘图标的小图片 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{ 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");//生成OPEN菜单项 var exitNativeMenuItem:NativeMenuItem = new NativeMenuItem("Exit");//同理 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 = "订单提醒"; 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(); } public function about():void{ Alert.okLabel="知道了"; Alert.show("JODY信息有限公司\nJODY信息有限公司,荣誉出品。"); } public function infos():void{ var popUp:PopMsg=new PopMsg(); popUp.systemChrome=NativeWindowSystemChrome.NONE; popUp.transparent=true; popUp.showTitleBar=false; popUp.showStatusBar=false; popUp.open(); popUp.init(); } public function getOrderInfos():void{ srv.send(); infos(); } ]]> </mx:Script> <mx:ApplicationControlBar width="98%" top="0" horizontalCenter="1" height="59" fillAlphas="[1.0, 1.0]" fillColors="[#2F58F1, #2F58F1]" color="#FBFDFE" verticalAlign="middle"> <mx:ControlBar height="49" width="100%" horizontalAlign="left" verticalAlign="middle"> <mx:Image source="png/logoicon.png" autoLoad="true" width="32" height="32"/> <mx:Label text="订单客户端" fontWeight="bold" fontFamily="Verdana" fontSize="14"/> <mx:Spacer width="100%"/> <mx:Button id="f5order" label="刷新订单" cornerRadius="12" color="0xffffff" fillColors="[0x55C0FF,0x0050AA]" fillAlphas="[1.0,1.0]" highlightAlphas="[1.0,0.2]" focusAlpha="0.2" textRollOverColor="0xffffff" textSelectedColor="0x55C0FF" click="getOrderInfos()" labelPlacement="right"/> <mx:Button id="aboutinfo" label="关于系统" cornerRadius="12" color="0xffffff" fillColors="[0x55C0FF,0x0050AA]" fillAlphas="[1.0,1.0]" highlightAlphas="[1.0,0.2]" focusAlpha="0.2" textRollOverColor="0xffffff" textSelectedColor="0x55C0FF" click="about()" labelPlacement="right"/> </mx:ControlBar> </mx:ApplicationControlBar> <mx:HTTPService id="srv" url="order.xml"/> <mx:Panel width="98%" height="90%" layout="absolute" horizontalCenter="1" top="67" title="订单信息"> <mx:DataGrid dataProvider="{srv.lastResult.orders.order}" width="100%" horizontalCenter="0" top="0" height="80%"> <mx:columns> <mx:DataGridColumn headerText="序号" dataField="id"/> <mx:DataGridColumn headerText="订单号" dataField="orderId"/> <mx:DataGridColumn headerText="订单来源" dataField="orderfor"/> <mx:DataGridColumn headerText="订单金额" dataField="amout"/> <mx:DataGridColumn headerText="订单状态" dataField="status"/> </mx:columns> </mx:DataGrid> </mx:Panel> </mx:WindowedApplication>
下面是模式的HttpService请求的order.xml
<?xml version="1.0" encoding="utf-8"?> <orders> <order orderId="D10001"> <id>1</id> <orderfor>Web商城</orderfor> <amout>210</amout> <status>未受理</status> </order> <order orderId="D10002"> <id>2</id> <orderfor>Wap商城</orderfor> <amout>310</amout> <status>未受理</status> </order> <order orderId="D10003"> <id>3</id> <orderfor>SMS商城</orderfor> <amout>410</amout> <status>未受理</status> </order> </orders>
QQ提醒功能的PopMsg.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:Window xmlns:mx="http://www.adobe.com/2006/mxml" width="300" height="200"> <mx:Script> <![CDATA[ import mx.controls.Alert; //定时器淡入 private var Timer1:Timer=new Timer(1); //停留时间 private var Timer2:Timer=new Timer(8000,1); //定时器淡出 private var Timer3:Timer=new Timer(1); private var _x:uint=0; private var _y:uint=0; private var _height:uint=0; private var screenBounds:Rectangle; public function init():void{ this.startPosition(); this.Timer1.addEventListener(TimerEvent.TIMER,scorllUp); //this.colseBtn.addEventListener(MouseEvent.CLICK,closeApp); this.Timer1.start(); } /** *弹出窗口 */ private function scorllUp(e:TimerEvent):void{ if(this._height<200){ this._height++; this.setLocation(this._x,this._y-30-this._height); } else{ this.Timer2.addEventListener(TimerEvent.TIMER,wait); this.Timer2.start(); this.Timer1.stop(); } } /* *设置y坐标 * */ private function setLocation(x:uint,y:uint):void{ this.nativeWindow.y=y; this.nativeWindow.x=x; //trace(x+'='+y); } private function wait(e:TimerEvent):void{ this.Timer3.addEventListener(TimerEvent.TIMER,scorllDown); this.Timer3.start(); } private function scorllDown(e:TimerEvent):void{ try{ if(this.Timer2!=null){ this.Timer2.stop(); this.Timer2=null; } if(this._height>0){ this._height--; //trace(this._height); this.setLocation(this._x,this.nativeWindow.y+1); //trace(this.nativeWindow.y); } else{ this.Timer3.stop(); this.close(); } }catch(error:Error){ Alert.show("运行出现异常"+error.message); } } /* *初始位置 */ public function startPosition():void{ this.screenBounds=Screen.mainScreen.bounds; //trace(this.screenBounds); this._x=this.screenBounds.width- 300; //trace(this._x); this._y=this.screenBounds.height; //trace(this._y); this.nativeWindow.x=this._x; this.nativeWindow.y=this._y; } private function closeApp(e:MouseEvent):void{ this.close(); } public function closes():void{ this.close(); } ]]> </mx:Script> <mx:TitleWindow title="系统消息" titleIcon="@Embed(source='png/systray_icon_16.png')" width="100%" height="100%" layout="absolute"> <mx:Label text="您有新的订单,请点击查看。\n请及时受理订单。" width="179" height="111"/> </mx:TitleWindow> </mx:Window>
发表评论
文章已被作者锁定,不允许评论。
-
Adobe自己出的Flex Lib
2009-05-20 21:02 1960Adobe 公司出的一个LIB包as3corelib ... -
FLEX的RIA应用程序中配置文件(*-app.xml)的说明
2009-05-16 14:26 2955AIR 配置文件(*-app.xml)说明 AIR安装配 ... -
Flash图表工具FusionChart
2009-03-22 11:36 4300Flash图表工具FusionChart 官方网站: ... -
Flex电子文档
2008-12-10 23:42 1720整理了一些Flex电子文档,有需要的可以下载. 已上传的文件: ... -
Flex中文帮助文档以及ActionScript3的中文文档
2007-09-17 12:32 27390在Flex的了解过程中,找到两本好的电子文档,都是根据官方文档 ...
相关推荐
以上知识点概述了Flex4开发RIA应用程序的核心概念,特点,开发环境,项目结构,与Flash的关系,部署方式,开发流程和学习途径,旨在帮助开发者熟悉和掌握使用Flex4技术开发高效、响应快速的互联网应用程序的各个方面...
通过系统的学习,参与者能够熟悉Flex4的基础概念、核心技术和开发工具,并能够运用所学知识创建出具有吸引力且功能丰富的应用程序。 #### 二、课程结构与内容 ##### 2.1 课程简介与学习方法 - **课程形式**:采用...
Flex的核心优势在于其强大的组件库和数据绑定能力,使得开发者能够轻松地构建出功能丰富、视觉效果出众的Web和桌面应用程序。 #### 二、Flex与Adobe Flash Platform Flex是Adobe Flash Platform的重要组成部分之一...
Flex4是Adobe公司推出的一种强大的富互联网应用(Rich Internet Application, RIA)开发框架,它主要基于ActionScript和MXML,用于构建具有丰富图形界面和交互功能的Web应用程序。本书《Flex4:开发RIA应用程序》...
本文主要研究和实现了基于FLEX构建的RIA应用,旨在探讨FLEX技术在企业级应用程序中的应用优势。 首先,文章回顾了应用程序的发展历程,从主机模式到客户机/服务器模式,再到浏览器/服务器模式。随着互联网的发展,...
随着版本4的发布,Flex提供了更强大的功能来创建动态且交互丰富的Internet应用程序(RIA)。 - **RIA(富互联网应用)定义**: - 富互联网应用(Rich Internet Applications, RIA)是指一类提供类似桌面应用程序用户...
《Flex 3 RIA开发详解与精深实践》是一本深度探讨富互联网应用程序(RIA)开发的专著,特别关注Adobe Flex 3这一强大的开发框架。Flex 3是Adobe为构建交互性强、视觉效果丰富的Web应用程序提供的开源工具,它允许...
在IT行业中,Flex是一种用于构建富互联网应用程序(RIA)的框架,它基于ActionScript和Flash Player或Adobe AIR运行时。Flex应用程序通常具有丰富的用户界面,能够提供动态交互体验。而当我们需要对这些Flex应用程序...
### Flex 4:开发RIA应用程序知识点详解 #### 一、Adobe RIA开发技术认证与教材概述 - **Adobe RIA开发技术认证**:是Adobe公司为开发者提供的专业认证,旨在帮助开发者掌握创建丰富的互联网应用程序(RIA)所需的...
相比于早期版本,Flex 4引入了重大的改进和新特性,如Spark组件模型和图形皮肤ning,显著提升了开发效率和应用程序的表现力。 深入学习Flex 4开发,首先要了解其核心概念和架构。Flex框架包含MXML和ActionScript两...
总而言之,《Flex 4:开发RIA应用程序》的源代码是一个学习和提升Flex 4技能的宝贵资源。通过实践这些代码,开发者不仅可以熟悉Flex 4的API和用法,还能培养良好的编程习惯,提高问题解决能力,为构建高质量的RIA...
在IT行业中,Flex是一种基于ActionScript 3.0和Flash Player或者Adobe AIR运行时环境的开源框架,主要用于构建富互联网应用程序(RIA)。本篇将详细讲解如何在Flex中实现窗口托盘和全屏功能。 首先,让我们关注...
本书由浅入深,循序渐进地讲解了如何使用Flex技术开发RIA应用程序。全书内容包括Flex简介、安装和配置Flex开发运行环境、熟悉Flex开发工具、ActionScript. 3.0语法、Flex组件开发、CSS布局、美化界面、数据传输与...
标题 "FLEX提高篇--------AIR应用程序的托盘及托盘菜单的制作" 指向的是一个关于Adobe Integrated Runtime (AIR)的高级教程,重点是如何在Flex应用中创建和使用系统托盘图标以及与之相关的托盘菜单。Flex是基于...
因此,新的RIA技术应该建立在这些现有模型之上,以便于快速学习和应用。 ##### 2.3 采用标准的协议及API RIA技术应当支持如HTML/HTTP、XML、SOAP/WebService等标准协议和技术,以确保与其他系统的互操作性。 ####...
Flex 3是Adobe开发的一款用于构建富互联网应用程序(RIA)的开源框架,它基于ActionScript 3.0,允许开发者创建具有丰富交互性和动态图形的Web应用。 在Flash Builder 3中开发Flex应用程序,用户可以利用其强大的...
该书为adobe flex4认证的内部培训教材,以Adobe Flash Builder 4为基础培训,目前市面上的flex4的教材太少,这个发上来大家一起看看吧
在阅读上述内容后,可以看出Flex 4.0是一个功能丰富的RIA开发框架,它不仅提供了强大的编程和设计工具,还确保了良好的用户体验和应用性能。FlashBuilder作为其集成开发环境,简化了从安装到应用开发的整个流程。...