- 浏览: 704118 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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消息发送接收,利用xiff插件实现,可以在android、ios等手机运行,也可以直接在ie上运行
flex 仿qq
flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...
在Flex中如何利用actionscript发送邮件
FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效
本文主要介绍和实现怎么使用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 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex学习的好资源啊
Flex简介Flex简介Flex简介Flex简介Flex简介
flex事件flex事件flex事件flex事件flex事件
Flex 组件Flex 组件Flex 组件Flex 组件Flex 组件
java flexjava flexjava flex
Flex 使用HttpService组件发送XML数据与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