FLEX 3里写的ActionScript 在FLASH CS 3 里的使用

1.       建立 AS3 的脚本文件,如下图:
代码是用 FLEX3 里建立的 AS 3 代码,具体的操作请参考以前的文章,保存的文件的名字为类名 .as
2.       建立 fla 文件,名字也是类名 .fla. 如下图:
 
 
如果不把你在代码里用的组件拖动到库里,会出现以下的错误:
 
 
 
 
 
3.       解决方法:直接从组件的面板里拖动所需要的组件到舞台上,然后删除,所需要的组件就存放到库面板里了。然后直接运行就 OK 了,如下图:
4.       完整代码,作用是 List 的使用测试。
 
package {
//  导入相关的类,需要实现设计好,知道自己设计的项目里需要什么类
    import fl.controls.Button;
    import fl.controls.Label;
    import fl.controls.List;
    import fl.data.DataProvider;
   
    import flash.display.Sprite;
    import flash.events.*;
 
    public class listtest extends Sprite
    {
//定义所需要的对象,如按钮,列表,标签等所需要的对象       
  //define the object
       private var left_list:List;
       private var right_list:List;
       private var right_btn:Button;
       private var left_btn:Button;
      
 //构造函数
       public function listtest()
       {
          
           createcompenent();
           setupCompenent();
       }
 
//为列表提供数据源
       //setup the data
       private function setupCompenent(): void
       {
           var dp:Array = new Array();
           var i:uint;
           var count:uint = left_list.rowCount * 2;
          
           for (i =0 ;i< count;i++)
           {
           dp.push({label: " 员工 " + i});
           }
           left_list.allowMultipleSelection = true ;
           left_list.dataProvider = new DataProvider(dp);
       }
//创建组件,并初始化他们在舞台上的位置      
//setup the position of the object
       private function createcompenent(): void
       {
           right_btn = new Button();
           left_btn = new Button();
           left_list = new List();
           right_list = new List();
          
           var leftlabel:Label = new Label();
           var right_label:Label = new Label();
          
           right_btn.move(135,45);
           left_btn.move(135,85);
           left_list.move(10,32);
           right_list.move(200,32);
          
           leftlabel.move(10,10);
           right_label.move(200,10);
          
           right_btn.label = ">>" ;
           left_btn.label = "<<" ;
           right_btn.width = 40 ;
           left_btn.width = 40;
          
           leftlabel.text = " 所有员工 " ;
           right_label.text = " 所选择的员工 " ;
          
           left_btn.addEventListener(MouseEvent.CLICK,moveright);
           right_btn.addEventListener(MouseEvent.CLICK,movetoleft);
//把对象添加到舞台上,与AS2是不一样的。          
           this .addChild(left_btn);
           this .addChild(right_btn);
           this .addChild(left_list);
           this .addChild(right_list);
           this .addChild(leftlabel);
           this .addChild(right_label);
          
       }
//定义事件(鼠标单击相应的按钮后触发)
       private function movetoleft(event:MouseEvent): void
       {
           if (left_list.selectedIndex >= 0)
           {
              right_list.addItem(left_list.selectedItem);
              left_list.removeItem(left_list.selectedItem);
           }
       }
       private function moveright(event:MouseEvent): void
       {
              if (right_list.selectedIndex >= 0)
           {
              left_list.addItem(right_list.selectedItem);
              right_list.removeItem(right_list.selectedItem);
           }
       }
    }
}
 

你可能感兴趣的:(职场,休闲,开发(初级))