FLEX 3里寫的ActionScrip

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);

}

}

}

}