- 浏览: 717263 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (389)
- flex (150)
- java (55)
- flex_sharedObject (4)
- iphone/android (7)
- red5 (4)
- blazeds (19)
- ajax (3)
- flex&java (9)
- 聊天室 (2)
- flex的问题 (1)
- game (8)
- flex_xml (1)
- flex组件学习 (2)
- JGroups (1)
- 中转站 (2)
- ruby (7)
- flex_js (5)
- C/C++ (14)
- perl (2)
- db (13)
- air (10)
- hibernate (8)
- flash_flex_as_3d (2)
- struts (4)
- dwr (8)
- freemarker (2)
- AS (22)
- 工具 (6)
- js_jquery_ext_yui (4)
- .net (1)
- C# (1)
- 前端 (1)
最新评论
-
136900923:
您好,您的代码我不是很懂,我想跟您交流一下,我的qq邮箱:13 ...
hibernate做无限极菜单树如此简单 -
fykyx521:
两个同一个功能
flex_flush_Socket 安全沙箱解决 -
ustb:
你上下两个代码类之间没关系
flex_flush_Socket 安全沙箱解决 -
u010656335:
...
flex发送QQ表情 -
u010656335:
flex发送QQ表情
大多数代码是一牛人用fms写的,网址明天再找 ,我只是借用了下他的表情代码, 只是改了一下接收信息的解析类 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> <mx:ArrayCollection id="arrColl"> <mx:source> <mx:Array id="arr"> <mx:Object data="0" tp="微笑" label="" icon="img/Face/0.swf"/> <mx:Object data="1" tp="撇嘴" label="" icon="img/Face/1.swf"/> <mx:Object data="2" tp="撇嘴" label="" icon="img/Face/2.swf"/> <mx:Object data="3" tp="撇嘴" label="" icon="img/Face/3.swf"/> <mx:Object data="4" tp="撇嘴" label="" icon="img/Face/4.swf"/> <mx:Object data="5" tp="撇嘴" label="" icon="img/Face/5.swf"/> <mx:Object data="6" tp="撇嘴" label="" icon="img/Face/6.swf"/> <mx:Object data="7" tp="撇嘴" label="" icon="img/Face/7.swf"/> <mx:Object data="8" tp="撇嘴" label="" icon="img/Face/8.swf"/> <mx:Object data="9" tp="撇嘴" label="" icon="img/Face/9.swf"/> <mx:Object data="10" tp="撇嘴" label="" icon="img/Face/10.swf"/> <mx:Object data="11" tp="微笑" label="" icon="img/Face/11.swf"/> <mx:Object data="12" tp="撇嘴" label="" icon="img/Face/12.swf"/> <mx:Object data="13" tp="撇嘴" label="" icon="img/Face/13.swf"/> <mx:Object data="14" tp="撇嘴" label="" icon="img/Face/14.swf"/> <mx:Object data="15" tp="撇嘴" label="" icon="img/Face/15.swf"/> <mx:Object data="16" tp="撇嘴" label="" icon="img/Face/16.swf"/> <mx:Object data="17" tp="撇嘴" label="" icon="img/Face/17.swf"/> <mx:Object data="18" tp="撇嘴" label="" icon="img/Face/18.swf"/> <mx:Object data="19" tp="撇嘴" label="" icon="img/Face/19.swf"/> <mx:Object data="20" tp="撇嘴" label="" icon="img/Face/20.swf"/> <mx:Object data="21" tp="撇嘴" label="" icon="img/Face/21.swf"/> <mx:Object data="22" tp="撇嘴" label="" icon="img/Face/22.swf"/> <mx:Object data="23" tp="撇嘴" label="" icon="img/Face/23.swf"/> <mx:Object data="24" tp="撇嘴" label="" icon="img/Face/24.swf"/> <mx:Object data="25" tp="撇嘴" label="" icon="img/Face/25.swf"/> <mx:Object data="26" tp="撇嘴" label="" icon="img/Face/26.swf"/> <mx:Object data="27" tp="撇嘴" label="" icon="img/Face/27.swf"/> <mx:Object data="28" tp="撇嘴" label="" icon="img/Face/28.swf"/> <mx:Object data="29" tp="撇嘴" label="" icon="img/Face/29.swf"/> <mx:Object data="30" tp="微笑" label="" icon="img/Face/30.swf"/> <mx:Object data="31" tp="撇嘴" label="" icon="img/Face/31.swf"/> <mx:Object data="32" tp="撇嘴" label="" icon="img/Face/32.swf"/> <mx:Object data="33" tp="撇嘴" label="" icon="img/Face/33.swf"/> <mx:Object data="34" tp="撇嘴" label="" icon="img/Face/34.swf"/> <mx:Object data="35" tp="撇嘴" label="" icon="img/Face/35.swf"/> <mx:Object data="36" tp="撇嘴" label="" icon="img/Face/36.swf"/> <mx:Object data="37" tp="撇嘴" label="" icon="img/Face/37.swf"/> <mx:Object data="38" tp="撇嘴" label="" icon="img/Face/38.swf"/> <mx:Object data="39" tp="撇嘴" label="" icon="img/Face/39.swf"/> <mx:Object data="40" tp="微笑" label="" icon="img/Face/40.swf"/> <mx:Object data="41" tp="撇嘴" label="" icon="img/Face/41.swf"/> <mx:Object data="42" tp="撇嘴" label="" icon="img/Face/42.swf"/> <mx:Object data="43" tp="撇嘴" label="" icon="img/Face/43.swf"/> <mx:Object data="44" tp="撇嘴" label="" icon="img/Face/44.swf"/> <mx:Object data="45" tp="撇嘴" label="" icon="img/Face/45.swf"/> <mx:Object data="46" tp="撇嘴" label="" icon="img/Face/46.swf"/> <mx:Object data="47" tp="撇嘴" label="" icon="img/Face/47.swf"/> <mx:Object data="48" tp="撇嘴" label="" icon="img/Face/48.swf"/> <mx:Object data="49" tp="撇嘴" label="" icon="img/Face/49.swf"/> <mx:Object data="50" tp="微笑" label="" icon="img/Face/50.swf"/> <mx:Object data="51" tp="撇嘴" label="" icon="img/Face/51.swf"/> <mx:Object data="52" tp="撇嘴" label="" icon="img/Face/52.swf"/> <mx:Object data="53" tp="撇嘴" label="" icon="img/Face/53.swf"/> <mx:Object data="54" tp="撇嘴" label="" icon="img/Face/54.swf"/> <mx:Object data="55" tp="撇嘴" label="" icon="img/Face/55.swf"/> <mx:Object data="56" tp="撇嘴" label="" icon="img/Face/56.swf"/> <mx:Object data="57" tp="撇嘴" label="" icon="img/Face/57.swf"/> <mx:Object data="58" tp="撇嘴" label="" icon="img/Face/58.swf"/> <mx:Object data="59" tp="撇嘴" label="" icon="img/Face/59.swf"/> <mx:Object data="60" tp="微笑" label="" icon="img/Face/60.swf"/> <mx:Object data="61" tp="撇嘴" label="" icon="img/Face/61.swf"/> <mx:Object data="62" tp="撇嘴" label="" icon="img/Face/62.swf"/> <mx:Object data="63" tp="撇嘴" label="" icon="img/Face/63.swf"/> <mx:Object data="64" tp="撇嘴" label="" icon="img/Face/64.swf"/> <mx:Object data="65" tp="撇嘴" label="" icon="img/Face/65.swf"/> <mx:Object data="66" tp="撇嘴" label="" icon="img/Face/66.swf"/> <mx:Object data="67" tp="撇嘴" label="" icon="img/Face/67.swf"/> <mx:Object data="68" tp="撇嘴" label="" icon="img/Face/68.swf"/> <mx:Object data="69" tp="撇嘴" label="" icon="img/Face/69.swf"/> <mx:Object data="70" tp="微笑" label="" icon="img/Face/70.swf"/> <mx:Object data="71" tp="撇嘴" label="" icon="img/Face/71.swf"/> <mx:Object data="72" tp="撇嘴" label="" icon="img/Face/72.swf"/> <mx:Object data="73" tp="撇嘴" label="" icon="img/Face/73.swf"/> <mx:Object data="74" tp="撇嘴" label="" icon="img/Face/74.swf"/> <mx:Object data="75" tp="撇嘴" label="" icon="img/Face/75.swf"/> <mx:Object data="76" tp="撇嘴" label="" icon="img/Face/76.swf"/> <mx:Object data="77" tp="撇嘴" label="" icon="img/Face/77.swf"/> <mx:Object data="78" tp="撇嘴" label="" icon="img/Face/78.swf"/> <mx:Object data="79" tp="撇嘴" label="" icon="img/Face/79.swf"/> <mx:Object data="80" tp="微笑" label="" icon="img/Face/80.swf"/> <mx:Object data="81" tp="撇嘴" label="" icon="img/Face/81.swf"/> <mx:Object data="82" tp="撇嘴" label="" icon="img/Face/82.swf"/> <mx:Object data="83" tp="撇嘴" label="" icon="img/Face/83.swf"/> <mx:Object data="84" tp="撇嘴" label="" icon="img/Face/84.swf"/> <mx:Object data="85" tp="撇嘴" label="" icon="img/Face/85.swf"/> <mx:Object data="86" tp="撇嘴" label="" icon="img/Face/86.swf"/> <mx:Object data="87" tp="撇嘴" label="" icon="img/Face/87.swf"/> <mx:Object data="88" tp="撇嘴" label="" icon="img/Face/88.swf"/> <mx:Object data="89" tp="撇嘴" label="" icon="img/Face/89.swf"/> <mx:Object data="90" tp="微笑" label="" icon="img/Face/90.swf"/> <mx:Object data="91" tp="撇嘴" label="" icon="img/Face/91.swf"/> <mx:Object data="92" tp="撇嘴" label="" icon="img/Face/92.swf"/> <mx:Object data="93" tp="撇嘴" label="" icon="img/Face/93.swf"/> <mx:Object data="94" tp="撇嘴" label="" icon="img/Face/94.swf"/> <mx:Object data="95" tp="撇嘴" label="" icon="img/Face/95.swf"/> <mx:Object data="96" tp="撇嘴" label="" icon="img/Face/96.swf"/> <mx:Object data="97" tp="撇嘴" label="" icon="img/Face/97.swf"/> <mx:Object data="98" tp="撇嘴" label="" icon="img/Face/98.swf"/> <mx:Object data="99" tp="撇嘴" label="" icon="img/Face/99.swf"/> <mx:Object data="100" tp="微笑" label="" icon="img/Face/100.swf"/> <mx:Object data="101" tp="撇嘴" label="" icon="img/Face/101.swf"/> <mx:Object data="102" tp="撇嘴" label="" icon="img/Face/102.swf"/> <mx:Object data="103" tp="撇嘴" label="" icon="img/Face/103.swf"/> <mx:Object data="104" tp="撇嘴" label="" icon="img/Face/104.swf"/> <mx:Object data="105" tp="撇嘴" label="" icon="img/Face/105.swf"/> <mx:Object data="106" tp="撇嘴" label="" icon="img/Face/106.swf"/> <mx:Object data="107" tp="撇嘴" label="" icon="img/Face/107.swf"/> <mx:Object data="108" tp="撇嘴" label="" icon="img/Face/108.swf"/> <mx:Object data="109" tp="撇嘴" label="" icon="img/Face/109.swf"/> <mx:Object data="110" tp="微笑" label="" icon="img/Face/110.swf"/> <mx:Object data="111" tp="撇嘴" label="" icon="img/Face/111.swf"/> <mx:Object data="112" tp="撇嘴" label="" icon="img/Face/112.swf"/> <mx:Object data="113" tp="撇嘴" label="" icon="img/Face/113.swf"/> <mx:Object data="114" tp="撇嘴" label="" icon="img/Face/114.swf"/> <mx:Object data="115" tp="撇嘴" label="" icon="img/Face/115.swf"/> <mx:Object data="116" tp="撇嘴" label="" icon="img/Face/116.swf"/> <mx:Object data="117" tp="撇嘴" label="" icon="img/Face/117.swf"/> <mx:Object data="118" tp="撇嘴" label="" icon="img/Face/118.swf"/> <mx:Object data="119" tp="撇嘴" label="" icon="img/Face/119.swf"/> <mx:Object data="120" tp="微笑" label="" icon="img/Face/120.swf"/> <mx:Object data="121" tp="撇嘴" label="" icon="img/Face/121.swf"/> <mx:Object data="122" tp="撇嘴" label="" icon="img/Face/122.swf"/> <mx:Object data="123" tp="撇嘴" label="" icon="img/Face/123.swf"/> <mx:Object data="124" tp="撇嘴" label="" icon="img/Face/124.swf"/> <mx:Object data="125" tp="撇嘴" label="" icon="img/Face/125.swf"/> <mx:Object data="126" tp="撇嘴" label="" icon="img/Face/126.swf"/> <mx:Object data="127" tp="撇嘴" label="" icon="img/Face/127.swf"/> <mx:Object data="128" tp="撇嘴" label="" icon="img/Face/128.swf"/> <mx:Object data="129" tp="撇嘴" label="" icon="img/Face/129.swf"/> <mx:Object data="130" tp="微笑" label="" icon="img/Face/130.swf"/> <mx:Object data="131" tp="撇嘴" label="" icon="img/Face/131.swf"/> <mx:Object data="132" tp="撇嘴" label="" icon="img/Face/132.swf"/> <mx:Object data="133" tp="撇嘴" label="" icon="img/Face/133.swf"/> <mx:Object data="134" tp="撇嘴" label="" icon="img/Face/134.swf"/> </mx:Array> </mx:source> </mx:ArrayCollection> <mx:Script> <![CDATA[ import mx.events.ColorPickerEvent; //占位符 private var placeholder:String="[img:{0}]"; private function imageclick(evt:Event):void { var img:Image=evt.currentTarget as Image; var idx:int=int(img.data); // var str:String=placeholder.replace("{0}", idx.toString()); // this.insertString(str); //关闭弹出菜单 this.popUpButton_pic.close(); } //设置字体属性 private function checkBox_fontsetup(evt:Event):void { var ch:CheckBox=evt.currentTarget as CheckBox; var data:String=ch.data.toString(); if (data == "fontWeight") { if (ch.selected) { // this.fontWeight="bold"; } else { // this.fontWeight="normal"; } } if (data == "fontStyle") { if (ch.selected) { // this.fontStyle="italic"; } else { // this.fontStyle="normal"; } } if (data == "textDecoration") { if (ch.selected) { // this.fontTextDecoration="underline"; } else { // this.fontTextDecoration="none"; } } } //设置字体颜色 private function colorPicker_color(evt:ColorPickerEvent):void { // fontColor=this.fontsetup_color.selectedColor; } private function insertString(insertStr:String):void { if (this.textEditor.selectionBeginIndex == this.textEditor.selectionEndIndex) { var startPart:String=this.textEditor.text.substring(0, this.textEditor.selectionBeginIndex); var endPart:String=this.textEditor.text.substring(this.textEditor.selectionEndIndex, this.textEditor.text.length); startPart+=insertStr; startPart+=endPart; this.textEditor.text=startPart; } else { this.textEditor.text=insertStr; } } ]]> </mx:Script> <mx:Panel x="168.5" y="82" width="410" height="322" layout="absolute" title="聊天室"> <mx:Canvas x="10" y="0" width="370" height="158" themeColor="#FF0042" borderStyle="inset" borderColor="#1094F1" id="cs"> <mx:VBox id="vd" updateComplete="updateCompleteHandler(event)" width="100%" height="100%" borderStyle="solid" borderThickness="1" borderColor="#000000" verticalScrollPolicy="auto" horizontalScrollPolicy="auto"> </mx:VBox> </mx:Canvas> <mx:PopUpButton id="popUpButton_pic" icon="@Embed('img/face.png')" openAlways="true" toolTip="请选择表情图片" width="50" x="19.5" y="166"> <mx:popUp> <mx:TitleWindow id="titleWindow_popUp" status="单击图片选择聊天表情" width="450" height="400" showCloseButton="true" verticalScrollPolicy="on" horizontalScrollPolicy="off" close="popUpButton_pic.close();"> <mx:ToolBar width="430"> <mx:Repeater id="myRep" dataProvider="{arrColl}"> <mx:Image click="imageclick(event)" buttonMode="true" data="{myRep.currentIndex}" toolTip="{myRep.currentItem.tp}" source="{myRep.currentItem.icon}"> </mx:Image> </mx:Repeater> </mx:ToolBar> </mx:TitleWindow> </mx:popUp> </mx:PopUpButton> <mx:TextArea id="textEditor" x="10" y="196" width="291" height="67"/> <mx:Button x="309" y="195" label="发送" height="68" width="71" fontSize="13" click="sendMessage()"/> <mx:PopUpButton id="popUpButton_fontSetup" icon="@Embed('img/a.png')" openAlways="true" toolTip="设置字体样式" width="50" x="77.5" y="166"> <mx:popUp> <mx:TitleWindow id="titleWindow_popUp_fontSetup" status="选择字体样式" showCloseButton="true" close="popUpButton_fontSetup.close();"> <mx:HBox> <mx:CheckBox id="fontsetup_fontWeight" change="checkBox_fontsetup(event)" data="fontWeight" toolTip="粗体" label=""> </mx:CheckBox> <mx:Image source="img/typeface/b.png" toolTip="粗体"> </mx:Image> <mx:CheckBox id="fontsetup_fontStyle" change="checkBox_fontsetup(event)" data="fontStyle" toolTip="倾斜" label=""> </mx:CheckBox> <mx:Image source="img/typeface/i.png" toolTip="倾斜"> </mx:Image> <mx:CheckBox id="fontsetup_textDecoration" change="checkBox_fontsetup(event)" data="textDecoration" toolTip="下划线" label=""> </mx:CheckBox> <mx:Image source="img/typeface/u.png" toolTip="下划线"> </mx:Image> <mx:ColorPicker id="fontsetup_color" change="colorPicker_color(event)" toolTip="颜色"> </mx:ColorPicker> </mx:HBox> </mx:TitleWindow> </mx:popUp> </mx:PopUpButton> <mx:TextInput x="141" y="166" width="84" text="姓名:" id="userName"/> </mx:Panel> <mx:Producer id="producer" destination="mychat"> </mx:Producer> <mx:Consumer id="consumer" destination="mychat" message="messagehandle(event)"> </mx:Consumer> <mx:Script> <![CDATA[ import mx.events.FlexEvent; import mx.controls.Label; import mx.containers.HBox; import mx.controls.Text; import mx.controls.Image; import mx.controls.SWFLoader; import mx.controls.Alert; import mx.containers.VBox; import mx.messaging.events.MessageAckEvent; import mx.messaging.events.ChannelFaultEvent; import mx.messaging.events.ChannelEvent; import mx.messaging.ChannelSet; import mx.messaging.channels.AMFChannel; import mx.messaging.channels.StreamingAMFChannel; import mx.messaging.events.MessageFaultEvent; import mx.messaging.messages.AsyncMessage; import mx.messaging.events.MessageEvent; public function init(){ initChannel(); consumer.subscribe(); producer.addEventListener(MessageFaultEvent.FAULT,error); } private function addEvent(){ // producer.addEventListener(ChannelEvent.CHANNEL_CONNECT,channelConnection); // producer.addEventListener(ChannelEvent.CHANNEL_DISCONNECT,channelDisconnect); // producer.addEventListener(ChannelFaultEvent.CHANNEL_FAULT,channelFault); // producer.addEventListener(MessageAckEvent.ACKNOWLEDGE } public function initChannel(){ var url="http://192.168.200.14:8080/J2EE/"; var myStreamingAMF:StreamingAMFChannel = new StreamingAMFChannel(url+"my-streaming-amf", url+"messagebroker/streamingamf"); var myPollingAMF:AMFChannel = new AMFChannel(url+"my-polling-amf", url+"messagebroker/amfpolling"); myPollingAMF.pollingEnabled = true; myPollingAMF.pollingInterval = 2000; var channelSet:ChannelSet = new ChannelSet(); channelSet.addChannel(myStreamingAMF); channelSet.addChannel(myPollingAMF); consumer.channelSet = channelSet; producer.channelSet = channelSet; } public function messagehandle(event:MessageEvent){ // ta.text+=event.message.body.text+"\n"; // ta.htmlText+=event.message.body.htmlText; this.vd.verticalScrollPosition=this.vd.maxVerticalScrollPosition; this.cs.verticalScrollPosition=cs.maxVerticalScrollPosition; var messages:String=event.message.body.text; // var image:Image=new Image; // image.source="img/Face/134.swf"; // image.autoLoad=true; // vd.addChild(image); //日期和时间 var messageDate:Text=this.getTxtMessage(event.message.body.userAndDate) messageDate.setStyle("color","red") vd.addChild(messageDate); vd.addChild(parseMessage(messages)); this.vd.verticalScrollPosition=this.vd.maxVerticalScrollPosition; // vd.addChild(image); // mx.controls.Alert.show(event.message.body.text); } private static var top:String="[img:"; /*** * 这段是主要的解析接受到的信息,麻烦哪位老大给优化下。有个问题就是 只能接收一行 * * */ private function parseMessage(messages:String):HBox{ var hBox:HBox=new HBox; var msg:String=messages; var swfArray:Array=msg.split(top); if(swfArray.length==1){ //如果==1,说明没有发送表情 hBox.addChild(getTxtMessage(msg)); // Alert.show(txt.text); return hBox; } var i:int=0; //下边的大致思路是,(是否有文字)swf(是否有文字) swf(是否有文字) for each(var swf:String in swfArray){ // i==0判断一个swf前边是否有文字,有的话就添加进Hbox 如:文字 swf if(i==0){ var startMessage:String=msg.substring(0,msg.indexOf("["));//开始的字体 if(startMessage!=""||startMessage!=null){ hBox.addChild(getTxtMessage(startMessage)); } } i++; if(swf.indexOf("]")!=-1){ var icon:String=swf.substring(0,swf.indexOf("]")); var mess:String=swf.substring(swf.indexOf("]")+1,swf.length); if(!isNaN(Number(icon))){ hBox.addChild(getImage(parseInt(icon))); } if(mess!=""||mess!=null){ hBox.addChild(getTxtMessage(mess)); } trace(icon); } } return hBox; } private function getImage(id:Number):Image{ var image:Image=new Image; image.source="img/Face/"+id+".swf"; trace(image.source); image.autoLoad=true; return image; } private function getTxtMessage(mess:String):Text{ var txt:Text=new Text; txt.text=mess; return txt; } private function sendMessage():void{ if(textEditor.text==""){ Alert.show("不能发送空消息"); return; } var message:AsyncMessage=new AsyncMessage(); // message.body.text=userName.text+":"+msg.text+" "; message.body.text=textEditor.text; message.body.userAndDate=userName.text+" "+new Date(); producer.send(message); textEditor.text=""; vd.verticalScrollPosition=vd.maxVerticalScrollPosition; this.cs.verticalScrollPosition=cs.maxVerticalScrollPosition; } public function error(event:MessageFaultEvent){ trace(event.message); } //滚动条自动滚动到最下面,方便用户看聊天记录 private function updateCompleteHandler(evt:FlexEvent):void { this.vd.verticalScrollPosition=this.vd.maxVerticalScrollPosition; } ]]> </mx:Script> </mx:Application>
- chat_biaoqing.zip (847.8 KB)
- 下载次数: 515
评论
3 楼
u010656335
2013-09-22
2 楼
u010656335
2013-09-22
1 楼
zltian
2010-03-18
[/color][color=red][size=x-smal【平【、平、
l][/size][align=left][/align]
l][/size][align=left][/align]
相关推荐
Flex 发送邮件前台代码示例 Flex 发送邮件前台代码示例 Flex 发送邮件前台代码示例
在这个特定的场景中,"Flex实现的xmpp消息发送接收"是指使用Flex技术来实现在Android、iOS等移动设备以及IE浏览器上的即时通讯功能。 XMPP(Extensible Messaging and Presence Protocol)是一种开放标准的协议,...
flex 仿qq
标题“随记:flex发送XML到servlet”指的是在Flex应用程序中向Java Servlet发送XML数据的过程,这通常涉及到客户端与服务器端的交互。Flex是一种基于Adobe AIR或Flash Player运行时的开发框架,常用于创建富互联网...
1. Flex发送:在Flex客户端,当用户触发某个操作时,HttpService发送XML数据到服务器,数据内容由Flex的XML对象构建。 2. 春天处理:SpringMVC接收到请求后,通过XMLMessageConverter解析XML数据,然后将数据传递给...
在Flex中如何利用actionscript发送邮件
本文主要介绍和实现怎么使用Flex-java来实现Email的发送。这尤其是在做用户回馈的时候需要用到。当然这实现的只要是一个简单的例子。正在执行发送Email功能还是使用java来实现的,Flex只不过提供了数据的输入和封装...
Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...
flex实现QQ面板效果flex实现QQ面板效果flex实现QQ面板效果flex实现QQ面板效果
本项目“flex仿qq右边弹出提示消息功能”旨在模仿QQ聊天软件中的右下角弹出通知功能,为用户提供类似的新消息提醒体验。这种功能在现代Web应用中非常常见,用于展示系统更新、用户通知或重要消息。 首先,我们要...
这个服务会接收Flex发送的AMF请求,处理业务逻辑,然后返回结果。 5. **使用 BlazeDS 或 LiveCycle Data Services**:这两个是Adobe提供的中间件,可以方便地在Flex和Java之间建立连接。它们提供了AMF通道,使得...
Flex是Adobe公司推出的一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。这种技术允许开发者创建具有高度交互性和动态视觉效果的Web应用,提供比传统...
Flex相册 Flex图片
在这个场景中,Flex使用`HttpService`组件向Java的Servlet发送键值对形式的数据,而Servlet负责处理这些请求并返回响应数据。下面将详细介绍这一过程。 首先,Flex中的`HttpService`是ActionScript 3(AS3)的一个...
在这个“Flex FMS 发送和接收视频”的实例中,我们将深入探讨如何利用Flex技术和FMS进行视频的发送与接收。 1. **Flex框架介绍** Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。...
在本例中,Flex应用通过HTTP Service向Struts2控制器发送JSON请求,获取或提交数据。 3. Struts2:Struts2是一个流行的Java Web开发框架,它简化了MVC(模型-视图-控制器)架构的实现。在Flex和Java间通信中,...
Flex是Adobe公司推出的一种用于构建富互联网应用程序(RIA)的技术,它基于ActionScript编程语言和Flex框架,可以创建交互性强、用户体验优秀的Web应用。本教程是作者精心编写的Flex学习资料,适合初学者入门,通过...
本资料大全包含了多个重要的Flex学习资源,如Flex白皮书、Flex Cookbook以及Flex编程指南,这些都是深入理解Flex开发不可或缺的文献。 1. **Flex白皮书**: Flex白皮书是Adobe官方发布的技术文档,通常包含Flex...
Flex是Adobe公司推出的一种用于构建富互联网应用(RIA, Rich Internet Applications)的开源框架,它主要基于ActionScript编程语言和MXML标记语言。这个“Flex实战项目”可能是一个使用Flex技术构建的实际应用示例,...