Her bileşen, kullanıcı kendisiyle etkileşim kurduğunda olaylar yayınlar. Örneğin, kullanıcı bir Button bileşenini tıklattığında, bu bileşen bir
MouseEvent.CLICK
olayı gönderir ve kullanıcı List bileşeninde bir öğeyi seçtiğinde List bileşeni bir Event öğesi gönderir.
CHANGE
olayı. Ayrıca UILoader örneği için içerik yüklemesi bittiğinde,
Event.COMPLETE
olayı oluştuğunda olduğu gibi, bir bileşende önemli bir şey olduğunda da olay gerçekleşebilir. Bir olayı işlemek için, olay gerçekleştiğinde çalıştırılan ActionScript kodu yazarsınız.
Bileşenin olayları arasında, bileşenin miras aldığı herhangi bir sınıfın olayları da yer alır. Başka bir deyişle, UIComponent sınıfı ActionScript 3.0 Kullanıcı Arabirimi bileşenlerinin taban sınıfı olduğundan, tüm ActionScript 3.0 Kullanıcı Arabirimi bileşenleri, UIComponent sınıfının olaylarını miras alır. Bir bileşenin yayınladığı olayların listesini görmek için,
Adobe® Flash® Professional CS5 için ActionScript® 3.0 Başvurusu
bölümünde bileşenin sınıf girişinin Olaylar bölümüne bakın.
ActionScript 3.0'da olay işlemenin tam açıklaması için, bkz.
ActionScript 3.0'da Programlama
.
Olay dinleyicileri hakkında
Aşağıdaki temel noktalar, ActionScript 3.0 bileşenleri için olay işlemesinde geçerlidir:
-
Tüm olaylar, bir bileşen sınıfının örneği tarafından yayınlanır. Bileşen örneği
yayınlayıcıdır
.
-
Bileşen örneği için
addEventListener()
yöntemini çağırarak bir olay
dinleyicisi
kaydedersiniz. Örneğin, şu kod satırı,
aButton
Button örneğine
MouseEvent.CLICK
olayı için bir dinleyici ekler:
aButton.addEventListener(MouseEvent.CLICK, clickHandler);
addEventListener()
yönteminin ikinci parametresi, olay gerçekleştiğinde çağrılacak işlevin adını (
clickHandler
) kaydeder. Bu işlev,
geri çağrı
işlevi
olarak da ifade edilir.
-
Tek bir bileşen örneğine birden çok dinleyici kaydedebilirsiniz.
aButton.addEventListener(MouseEvent.CLICK, clickHandler1);
aButton.addEventListener(MouseEvent.CLICK, clickHandler2);
-
Birden çok bileşen örneğine tek bir dinleyici kaydedebilirsiniz.
aButton.addEventListener(MouseEvent.CLICK, clickHandler1);
bButton.addEventListener(MouseEvent.CLICK, clickHandler1);
-
Olay işleyici işlevi, olay türü ve olayı yayınlayan örnek hakkında bilgi içeren bir olay nesnesine iletilir. Daha fazla bilgi için, bkz.
Olay nesnesi hakkında
.
-
Uygulama sona erinceye kadar veya siz
removeEventListener()
yöntemini kullanıp açıkça uygulamayı kaldırıncaya kadar dinleyici etkin olarak kalır. Örneğin, şu kod satırı,
aButton
öğesinde
MouseEvent.CLICK
olayı için dinleyiciyi kaldırır:
aButton.removeEventListener(MouseEvent.CLICK, clickHandler);
Olay nesnesi hakkında
Olay nesnesi, Event nesnesi sınıfından miras alır ve olay hakkında önemli bilgiler sağlayan
target
ve
type
özellikleri dahil olmak üzere, gerçekleşen olay hakkında bilgi içeren özelliklere sahiptir:
Özellik
|
Açıklama
|
type
|
Olayın türünü belirten bir dize.
|
target
|
Olayı yayınlayan bileşen örneğinin başvurusu.
|
Bir olayın ek özellikleri olduğunda,
Adobe® Flash® Professional CS5 için ActionScript® 3.0 Başvurusu
bölümünde olayın sınıf açıklamasında listelenirler.
Olay gerçekleştiğinde, olay nesnesi otomatik olarak oluşturulur ve olay işleyici işlevine iletilir.
Yayınlanan olayın adına veya olayı yayınlayan bileşenin örnek adına erişmek için, işlevin içinde olay nesnesini kullanabilirsiniz. Örnek adından diğer bileşen özelliklerine erişebilirsiniz. Örneğin, şu kod,
aButton
öğesinin
label
özelliğine erişmek ve bu özelliği Çıktı panelinde görüntülemek için,
evtObj
olay nesnesinin
target
özelliğini kullanır:
import fl.controls.Button;
import flash.events.MouseEvent;
var aButton:Button = new Button();
aButton.label = "Submit";
addChild(aButton);
aButton.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(evtObj:MouseEvent){
trace("The " + evtObj.target.label + " button was clicked");
}
|
|
|