FLEX 杂



Flex 编译慢
1. 不要使用Automatically Build, 使用Ctrl+B快捷键手动编译.
2. 关闭所有当前不用的Project, 最好只剩一个. 


更改界面语言:
右键打开图标属性,在目标路径中加了“-clean -nl en_US”
如下所示:
"D:\Program Files\Adobe\Adobe Flash Builder 4\FlashBuilder.exe" -clean -nl en_US


如果你想使用英文版本的Flash Builder 4 Beta,你只需要将Flash Builder 4 Beta 安装目录下的FlashBuilder.ini文件打开,替换 ZH_CN 参数,重启Flash Builder即可。(MACOS下FlashBuilder.ini文件比较隐蔽,在Applications/Adobe Flash Builder Beta/FlashBuilder.app/Contents/MacOS/路径下,记得用文件浏览方式打开.app文件)

-clean
-nl
ZH_CN
-vmargs
-Xms512m
-Xmx512m
-XX:MaxPermSize=256m
-XX:PermSize=64m
-Djava.net.preferIPv4Stack=true.

支持以下语言:
de_DE
fr_FR
ja_JP
ru_RU
zh_CN
en_US 


ColorPicker 
        <s:Button  x=" 597  " y=" 118 " label="  Button " baseColor=" { col.selectedColor }  " />
        <mx:ColorPicker  id=" col  " x=" 517 " y="  175 " selectedColor=" #916E6E  " />



ComboBox
<mx:ComboBox  id=" comboBox  "
         dataProvider= " [The,Quick,Brown,Fox,Jumps,Over,The,Lazy,Dog] "
        symbolColor="  { colorPicker.selectedColor  } "
        horizontalCenter="  0 " top="  60
      selectedIndex ="  0 " />

================有点问题===========
     <fx:Declarations>       
         <!-- Place non-visual elements (e.g., services, value objects) here -->      
         <fx:Array  id=" arr  " >      
             <fx:Object  dataField="   "  headerText=" 宋体 "  />      
             <fx:Object  dataField="   "  headerText=" 楷体 "  />      
             <fx:Object  dataField="   " headerText=" 黑体 "  />      
         </fx:Array>      
         <s:ArrayList  id=" arr1  " >      
             <fx:Object  dataField=" 宋体  "  headerText=" 宋体 "  />      
             <fx:Object  dataField=" 楷体  "  headerText=" 楷体 "  />      
             <fx:Object  dataField=" 黑体  " headerText=" 黑体 "  />      
         </s:ArrayList>      
     </fx:Declarations>      
     <s:Panel  x="  448 " y=" 159  " width=" 250 " height="  200 " >       
         <mx:ComboBox  x=" 73  " y=" 10 " dataProvider="  { arr  } " labelField=" headerText  " selectedIndex=" 0 " />      
         <s:DropDownList  x=" 73  " y=" 50 " dataProvider="  { arr1  } " labelField=" headerText  " selectedIndex=" 0 " />      
     </s:Panel>       
 1)DropDownList的DataProvider不能是Array类型的
2)DropDownList默认显示时与ComboBox不一样,需要手动指定 selectedIndex的值 


给一个button或text添加链接

        <fx:Script>
            <![CDATA[
              private  function  linkURL(): void 
                   var  request:URLRequest =  new  URLRequest( "http://www.renrenwei.com"  ); 
              initApp();
                  navigateToURL(request,  "_blank" ); 
              } 
                       
               private  function  initApp(): void {    
                   var  str:String =  "<a target='_blank' href='http://www.renrenwei.com'>aa</a>" ;    
                  linkUrl.htmlText = str; 
              }   
            ]]>
        </fx:Script>
        <s:Button  x="  237 " y=" 7  " label=" 按钮 " buttonMode="  true "  click="linkURL()" />
        <mx:Text  text=" aa  " x =" 140  " y=" 10 " id="  linkUrl " fontSize=" 13  " buttonMode=" true " />


PopUpButton
==============有问题===============      
<fx:Script>
            <![CDATA[
            [ Bindable]
               private  var  menu:Menu;      
               private  function  init(): void {
                  menu =  new  Menu();
                  menu.dataProvider = arr;
                  menu.width = 200;
              }    
            ]]>
        </fx:Script>

        <fx:Declarations>
              <fx:Array  id=" arr  " >
                    <fx:Object  label=" Donec sit amet dui nec pede aliquam auctor. "  />
               <fx:Object  label=" Integer vestibulum sodales dui.  "  />
               <fx:Object  label=" Sed nonummy ligula et tortor.  "  />
              </fx:Array>
        </fx:Declarations>

        <mx:PopUpButton  x=" 452 " y="  34 " initialize="init();" popUp="  { menu  } " label=" PopUpButton  " />


弹出窗口(flex 4 Air):
弹出对象 dd.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Group
     xmlns:fx="http://ns.adobe.com/mxml/2009"
     xmlns:s="library://ns.adobe.com/flex/spark"
     xmlns:mx="library://ns.adobe.com/flex/halo"
     width="400" height="300">
    
     <fx:Script>
          <![CDATA[
               import mx.managers.PopUpManager;
          ]]>
     </fx:Script>
          <mx:Image x="0" y="0" source="../img/base_back.png" width="400" height="300"/>
          <mx:Image x="81" y="84" source="img/open_menu.png"
               click="PopUpManager.removePopUp(this)"/>
     <s:layout>
          <s:BasicLayout/>
     </s:layout>
</s:Group>

主程序 cc.mxml
<?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/halo"
     width="800" height="600">
    
     <fx:Script>
          <![CDATA[
               import mx.managers.PopUpManager;
               public function pop():void{
                    var pop:dd = dd(PopUpManager.createPopUp(this,dd,true));
                    PopUpManager.centerPopUp(pop);
               }
          ]]>
     </fx:Script>
     <s:Button x="215" y="159" label="Button" click="pop()"/>
</s:WindowedApplication>

◆下面详细说明一下createPopUp的这几个参数:

第一个参数是Flex弹出窗口的父窗体,这个相信大家都明白。
第二个参数是Flex弹出窗口的类名,也就是组件的文件名,在Flex中一个MXML文件也对应一个类。PopUpManager是根据这个类来创建弹出对话框。
第三个参数是模态标记。如果是true,就创建一个模态对话框;否则创建的就是一个非模态的对话框。
PopUpManager还有一个参数,不过不常用,具体请参考帮助文档。

然后你就可以对弹出对话框操作了,想要移除就用removePopUp(pop)。另外,如果是非模态的,可能在点击程序其它部分的时候窗口就不见了,但是它并没有移除,怎么让它出来呢?这个时候就需要PopUpManager的另外一个方法:bringToFront(),这个方法可以把窗口放到最前。你可以控制,让程序第一次的时候是创建对话框,以后就是把窗口放到最前。


Flex 弹出窗口居中

PopUpManager.addPopUp( window, this, true );  
PopUpManager.centerPopUp( window );  
// 下面两行是关键的,如果有多个几层弹出窗口的话使用上面的方法没法居中,必须手动设置窗口位置,  
// 当然这个只是居中于屏幕中间,如果你是想居中于上一级弹出窗口的中间的话,那就不能添加下面两行代码了  
window.x=Application.application.stage.stageWidth/2-window.width/2;  
window.y=Application.application.stage.stageHeight/2-window.height/2;  
//Flex4中需要下面方法  
window.x=FlexGlobals.topLevelApplication.stage.stageWidth/2-window.width/2;  
window.y=FlexGlobals.topLevelApplication.stage.stageHeight/2-window.height/2; 


弹出对话框:
<?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/halo"
     width="800" height="600">
     <fx:Script>
          <![CDATA[
               import mx.controls.Alert;
               import mx.events.CloseEvent;
              
               public function lala(eventObj:CloseEvent):void{
                    if(eventObj.detail==Alert.OK){
                         myText.text = myInput.text;
                    }
               }
          ]]>
     </fx:Script>
     <s:TextInput x="245" y="169" id="myInput" width="150" text=""/>
     <s:TextInput x="265" y="189" id="myText"/>
     <s:Button x="235" y="179" id="myButton" label="copy" click="Alert.show('copy','alert',Alert.OK|Alert.CANCEL,this,lala,null,Alert.OK);"/>
</s:WindowedApplication>




字符间距:
letterSpacing="20"
换行:
<mx:DataGridColumn headerText="会員 &#13;No." dataField="MemberCode"/>


DataGrid


flex 代码触发 button.click
 在button中发送相应的事件
例如:
button.addEventListener(MouseEvent.CLICK,alert);
触发函数为
button.dispatchEvent(new MouseEvent(MouseEvent.CLICK));

ffff.as 中有 


FLEX通过事件获取当前组件属性,在FLEX中,使用this只能获取当前整个窗体的对象,无法获取当前组件的属性,但可以通过currentTarget方法获取当前组件,如通过Label的双击事件获取Label的值。
[plain]  view plain copy
  1. protected function onDoubleClick(event:MouseEvent):void  
  2. {  
  3. txt1.text=event.currentTarget.text;  
  4. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值