FLEX 3里寫的ActionScrip
- 2020 年 1 月 8 日
- 筆記
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);
}
}
}
}