`
wangleifire
  • 浏览: 509071 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

[分享]FLEX问题总汇

    博客分类:
  • FLEX
阅读更多


论坛一直有些问题有人重复的发帖,今天有空就做了点总结,希望和大家分享一下.
希望能够帮助一些新人对flex的一些基本理解.
1:flex是否可以嵌入html?
可以,需要用到iframe,该iframe并非它定义好,而需要自己定义.

2:flex可否访问系统里的资源,比如C盘D盘文件?
不可以,AIR可以.

3:flex可否对文件进行操作?
不可以,它没IO的操作,需要调用java或其他语言对文件进行读写等.

4:为什么读取数据是Object object?
读取的数据类型为Object,建议转换成string.如果不行就debug查看object里是否还有很多层次,如果有再依次取出.

5:如何访问父级对象?
parentApplication.

6:如何去掉滚动条?
横条:horiz
  竖条: verticalScrollPolicy="off"

7:module数据通信?

附件 : ModuleCommunicationSample.rar (2008-6-20 12:50:14, 1078.32 K)
该附件被下载次数 591



8:flex默认编码是什么格式?
utf-8

9:为什么我后台jsp传回flex端为乱码?
request.getParameter("name").getBytes("ISO8859-1"), "utf-8");  或    request.charaterset("UTF-8").

10:dataGrid如何多选?

附件 : dataGrid.rar (2008-6-20 12:50:14, 1065.23 K)
该附件被下载次数 410



11:如何改变每根柱子的颜色?
  <mx:series>
        <mx:ColumnSeries ...
    <mx:fill>
                                                                                  <mx:RadialGradient>
                                                                                            <mx:entries>
                                                                                            <mx:GradientEntry 

color="#EF7651"  />
                                                                                                <mx:GradientEntry

color="#994C34" ratio="1"/>
                                                                                            </mx:entries>
                                                                                  </mx:RadialGradient>
                                                                        </mx:fill>
<!-一个fill为1根->

12:如何改变图片缩放大小?
可以使用Resize.
例:<mx:Resize id="particular2" widthBy="2"  widthFrom="323"  widthTo="-691" target="{canvas2}"/>

13:日期使用.
Date.getUTCMonth()//返回月
Date.getFullYear()//按照本地时间返回 4 位数字的年份数
Date.getDate()//按照本地时间返回某天是当月的第几天
Date.getDay() 按照本地时间返回某天是周几
关于显示格式可以使用format方法.

14:swf与swf之间可否交互?
可以,使用LocalConnection.

15:PopUpManager居中问题.
PopUpManager.centerPopUp(PopUpManager.createPopUp(DisplayObject(Application.application),TitleWindow,true);).

16:flex访问,解决安全限制,破沙河.
crossdomain.xml:
<?xml version="1.0" encoding="utf-8"?>
<cross-domain-policy>
  <allow-access-from domain="*"/>
</cross-domain-policy>
存放在服务器和项目一起根目录下.*代表全部可以访问.
命名为crossdomain,flex默认读取.

17:flex可否接收键盘?
可以.首先XX.setFocus(),设置焦点在某容器/控件之上,
mc.addEventListener(KeyboardEvent.KEY_DOWN,keyIsDown);//添加响应事件
private function keyIsDown(evt:KeyboardEvent):void
{
        //evt.keyCode键盘对应码
}

18:tree如何默认展开?
myTree.setIsOpen(myTree.getNodeDisplayedAt(0), true);//展开某个
var index = 0;
        var node = TreFolder.getNodeDisplayedAt(index);
        while(node != undefined){
            TreFolder.setIsOpen(node,true);
            index ++;
            node = TreFolder.getNodeDisplayedAt(index);
        }//true为全部展开false为全部手起

19:如何修改Alert样式?
字体为例:       
<mx:Style>
        Alert
        {
                fontSize:12;
        }
</mx:Style>

20:如何改变鼠标的指针?
[Embed(source="hand.jpg")]
private var handCursorSymbol:Class;//定义图片

CursorManager.setCursor(handCursorSymbol);//进行设置

21.如何使用全屏模式?
stage.displayState = StageDisplayState.NORMAL;//还原
stage.displayState = StageDisplayState.FULL_SCREEN; //全屏

22.如何制作自定义反键?
var myContextMenu:ContextMenu = new ContextMenu();
myContextMenu.hideBuiltInItems();
var item1:ContextMenuItem = new ContextMenuItem("item");
myContextMenu.customItems.push(item1);//加入右键
item1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler1);//为item1添加点击响应

23:如何制作和使用swc?
new->Flex Library project.
在属性里选择Flex Library Build Path勾选你要编译的类//编译后bin里即是swc.
使用:找到要使用该swc的工程,属性,Flex Build Path,点击add swc即可.
http://www.riachina.com/showtopic-11341.aspx

24:如何使用ShareObject?
ShareObject就像cookies一样...
会生成一个文件来保存你所需要交互的数据...
提供方法:clear() //删除本地共享对象
flush() //立即把共享对象数据写入本地文件
getLocal()// 创建或连接本地共享对象;

25.Flex常用的数据交互.httpservice和webservice.(remote可查看Flex + LCDS + Java 入门教程)
1.使用httpservice
<mx:HTTPService id="myhttp" url="you httpservice url" result="doResult(event)" >
<mx:request xmlns="">
            <username>
                {xxx}  //此处为你要传递给后台的参数,也可以不用request.(可选),还有其他写法,此为其1.
            </username>
        </mx:request>
</HTTPService>
private function doResult(evt:ResultEvent):void
{
  //此处为myhttp send后,由后台传回的数据
}

2:使用webservice
ws一般都以wsdl存在....net里可以直接执行asmx查看和测试方法 java也提供了一个xml 工具达到同样效果.确定ws成功那么就可以开始编写flex来通讯了.
<mx:WebService id="FlexSite" wsdl="http://localhost/FlexSite/Server2Flex.asmx?wsdl" showBusyCursor="true" useProxy="false">
  <mx:operation name="HelloWorld" result="onWs(event)"> <!--这里对应WEBSERVICE的方法名,在我的WS里有HelloWorld暴露方法-->
    <mx:request> <!--接收方法参数-->
                        <mx:UserName>//参数名
                                {name}//参数值
                        </mx:UserName>
                </mx:request>
        </mx:operation>
</mx:WebService>
private function onWs(event:ResultEvent):void
{
//得到ws的返回....
}
FlexSite.HelloWorld.send();//调用HelloWorld方法,利用onWs接收返回值

26. 经常有些人问哪种速度块些,简单做了测试列举如下
httpservice,webservice,json,remote(.net)数据服务时间比较。

名称                                  1            2              3              4                  5                  平均(s)
JSON                            1672        828          765          797            807              0.9738
httpservice                  2610      2547        2485        2375          2500            2.5034
webservice                2657        2328        2797        2511          2375            2.5336
remote                          437        360          344          454            411              0.4012

                10000条数据测试结果                                       
                                                       
                                                       
                                                       
27:实现类似HTML里的<A>标签的超链接功能.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:view="view.*" creati>
          <mx:String id="test">
        <![CDATA[<a href="event:"><u>click</u></a> label]]>
    </mx:String>
<mx:Script>
        <![CDATA[
                import mx.controls.Label;
                import mx.controls.Alert;
                private function initApp():void
                {
                var lbl:Label = new Label();
                lbl.htmlText = test;
                lbl.selectable = true;
                                lbl.addEventListener(TextEvent.LINK, label_link);
                                this.addChild(lbl);
                               
                       
                }
                        private function label_link(evt:TextEvent):void {
                Alert.show("click .");
                //这里处理你要进行的跳转
            }

        ]]>
</mx:Script>
</mx:Application>

分享到:
评论
1 楼 mfdefs 2011-07-12  
实用哈,谢谢

相关推荐

    flex 学习网址

    - **简介**:博主分享了一个使用Flex开发的实际案例——在线音乐播放器的设计与实现过程,包括需求分析、界面设计、代码实现等多个环节。 - **特点**:案例具体生动,有助于读者将所学知识应用于实践中去。 #### ...

    Flex实际应用源代码

    10. **优化与性能**:优秀的源代码会考虑到性能问题,如减少重绘、优化数据绑定和使用缓存。学习这些最佳实践可以帮助我们写出更高效、更流畅的Flex应用。 通过深入研究“Flex实际应用源代码”,开发者不仅可以了解...

    Rails相关电子书汇总

    标题 "Rails相关电子书汇总" 暗示了这个压缩包包含了关于Ruby on Rails框架的电子书籍资源。Ruby on Rails,通常简称为Rails,是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,以...

    gsoap网络资源汇总和相关连接

    ### gSOAP网络资源汇总与相关链接知识点解析 #### 一、概述 gSOAP是一个功能强大的工具包,用于在C和C++中实现Web服务。它支持多种标准协议,包括SOAP、HTTP、XML Schema等,使得开发者能够轻松创建、部署和使用...

    微信小程序 实例汇总 完整项目源代码

    本实例汇总包含了多个完整的微信小程序项目源代码,是学习和理解微信小程序开发的宝贵资源。通过这些实例,开发者可以深入理解微信小程序的架构、API使用以及页面生命周期等方面的知识。 1. **微信小程序的基础架构...

    JavaEye论坛热点_-_2008年11月_-_总第6期

    【JavaEye论坛热点 - 2008年11月 - 总第6期】是2008年11月JavaEye论坛上讨论的热点话题汇总,包含了多个关于Java和软件开发领域的讨论主题。以下将对部分主题进行详细解释: 1. **领域模型的价值与困境** - 领域...

    博和利高级培训(共7讲).zip

    【博和利高级培训】是一系列深入的技术分享和交流活动,包含了七个不同主题的PPT讲解,涵盖了多个IT领域的核心知识点。这些讲座不仅限于传统的培训形式,而是以技术交流为主,旨在提升参与者的专业技能和知识深度。 ...

    linktreeCSA:Linktree段Instagram

    在IT行业中,Linktree是一款非常流行的工具,它允许用户在一个单一的链接中汇总多个社交媒体平台的个人资料,方便用户分享,提高在线存在感。尤其是在Instagram这样的平台上,由于每个账号只能设置一个生物链接,...

Global site tag (gtag.js) - Google Analytics