Nazywanie zdarzeń w Adobe Flex
Adobe Flex to interesująca technologia i warto się z nią zapoznać.
Programując w Flex natrafimy na pewno na zdarzenia (Event). Metodą prób i błędów doszedłem do tego jak je programować, tak by być w zgodzie z Flex Builder. Najpierw rozszerzam klasę flash.events.Event, np.:
package eu.jakubiak.net
{
public class NetConnectionEvent extends Event
{
public static const CONNECTED:String = "connected";
W klasie tej, definiuje stałe – nazwy dla moich nowych zdarzeń. Nazwy stałych powinny być pisane dużymi literami z podkreśleniami, np.: DANE_OTRZYMANE. Wartości powinny być z kolei pisane małymi literami, zgodnie z standardem nazewnictwa w języku Java, np: daneOtrzymane.
Następnie trzeba stworzyć klasę która zdarzenia wysyła. Klasa ta powinna rozszerzać klasę
flash.events.EventDispatcher (prawie wszystkie klasy Flexa dziedziczą po EventDispatcher). Na przykład:
[Event(name="connected", type="eu.jakubiak.net.NetConnectionEvent")]
public class NetConnection extends flash.net.NetConnection
{
this.dispatchEvent(new NetConnectionEvent(NetConnectionEvent.CONNECTED));
Przed nazwą klasy w nawiasach kwadratowych definiujemy metadane klasy. [Event(name= – nazwa zdarzenia powinna zostać zapisana w notacji Java, czyli zwykle małe litery a kolejne słowo z dużej i musi odpowiadać wartości stałej zadeklarowanej w klasie dziedziczącej po Event, np: CONNECTED na connected lub DANE_OTRZYMANE na daneOtrzymane. Natomiast typ zdarzenia ([Event(type=) powinien być pełną nazwą klasy. Wysyłanie zdarzeń jest proste – tak jak na przykładzie dispatchEvent.
Dzięki takiemu nazywaniu zdarzeń Flex Builder podpowiada mi składnie w metodzie addEventListener oraz podczas edycji dokumentów mxml. Poza tym, godząc się na pewną konwencję nazewniczą mam w kodzie porządek.
Categories: FLEX