麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 網(wǎng)站 > WEB開發(fā) > 正文

1.10.在ActionScript中創(chuàng)建組件

2024-04-27 13:51:42
字體:
供稿:網(wǎng)友
1.10.1.問題
我想用ActionScript而不是MXML去創(chuàng)建組件。
1.10.2.解決辦法
創(chuàng)建ActionScript文件并繼承一個(gè)Flex庫(kù)組件。
1.10.3.討論
除了在MXML中創(chuàng)建組件為,你還可以在ActionScript中創(chuàng)建它們而根本不需要MXML。操作有點(diǎn)不同,只需要幾步。首先確定你的類正確定義包名,下面的例子中,組件所在目錄是以應(yīng)用程序級(jí)目錄開始,然后是oreilly/cookbook/,這就是包名稱的意義:
package oreilly.cookbook
另一個(gè)區(qū)別是任何被包括或引入的類都必須使用全路徑導(dǎo)入進(jìn)來,這包括任何組件即將繼承的類,例如這里的mx.containers.Canvas:
import mx.containers.Canvas;
import mx.controls.Text;
import mx.controls.Image;
import oreilly.cookbook.Person;
public class PersonRenderer extends Canvas
{

通常類申明后面會(huì)列出所有常量或變量。下面的例子中,類的所有私有變量都被列出。這些屬性只有組件自身可以訪問,其他組件都不可以。要訪問這些屬性,需要提供get和set方法。

Getter和Setter方法是一種常見的用于訪問私有變量的方式。
private var _data:Object;
private var nameText:Text;
private var ageText:Text;
private var positionText:Text;
private var image:Image;

在ActionScript中,構(gòu)造函數(shù)總是公有的,且沒有返回值,名稱與類名相同,例如:
public function PersonRenderer ()
{
super();

任何將被加入到組件的組件都有其構(gòu)造函數(shù),作為addChild方法的參數(shù)被加入到顯示列表中,他們的屬性可以被修改。
+展開
-ActionScript
nameText = new Text();
addChild(nameText);
ageText = new Text();
addChild(ageText);

下面的例子中,ageText組件進(jìn)行手動(dòng)定位,這是必要的,因?yàn)镻ersonRenderer是一個(gè)Canvas,它并不具有布局管理器,不像VBox或HBox組件。
+展開
-ActionScript
ageText.y = 20;
positionText = new Text();
addChild(positionText);
positionText.y = 40;
image = new Image();
addChild(image);
image.y = 60;
}

如果組件已經(jīng)定義了方法處理數(shù)據(jù),比如這里的mx.containers.Canvas,你必須重寫這些方法來執(zhí)行自定義行為。要重寫則需使用override關(guān)鍵字指示編譯器試圖重寫父類的方法,例如:
+展開
-ActionScript
override public function set data(value:Object):void
{
_data = value;
nameText.text = value.name;
ageText.text = String(value.age);
positionText.text = value.position;
image.source = value.image;
}
override public function get data():Object
{
return _data;
}

這是最后一個(gè)方法,很原始的方法,作用域?yàn)楣_:
+展開
-ActionScript
public function retrievePerson():Person
{
/* do some special employee processing */
return null;
}
}
}
要想把這個(gè)類添加到其他組件中,可使用下面的ActionScript代碼:
+展開
-ActionScript
var renderer:PersonRenderer = new PersonRenderer();
addChild(renderer);

或者在MXML中:
+展開
-XML
<renderers:PersonRenderer id="renderer"/>
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美一级美片在线观看免费 | a免费看| 精品久久久久久久久久久久久 | 国产亚洲精品成人a | 国产视频导航 | 中文字幕亚洲情99在线 | 欧美成人一区二区三区电影 | 国产精品久久久久久久久久久久久久久久 | 一级做受毛片免费大片 | 国产成人av一区二区 | 毛片免费在线观看 | 久久蜜臀一区二区三区av | 久久中文字幕在线观看 | 国产精品久久在线观看 | 欧美区在线 | 亚洲欧美在线视频免费 | 日本娇小videos高潮 | 成人三级电影网站 | 国产亚洲精品美女久久久 | 日韩精品中文字幕一区二区三区 | 一区二区免费看 | 欧美重口另类videos人妖 | 精品一区二区久久久久久按摩 | 黄视频免费在线观看 | 日本成人在线免费 | 国产一区二区三区高清 | 黄色毛片a级 | 日韩在线激情 | av在线免费网 | 亚洲国产网站 | 操碰97| 一级网站 | 4p嗯啊巨肉寝室调教男男视频 | 久久久新| 精品国产高清一区二区三区 | 色淫视频 | 欧美精品色精品一区二区三区 | 国产毛毛片一区二区三区四区 | 91精品国产777在线观看 | av电影在线观看网站 | 成年性羞羞视频免费观看 |