11 October, 2007

Creación de eventos personalizados, en Flex. Primera parte.

En Flex es muy sencillo el manejo de eventos. Para empezar explicaré lo que significa un evento(hablando en términos de programación), según la wikipedia la programación dirigada a eventos es:

Un paradigma de programación en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema o que ellos mismos provoquen.

En otras palabras, un evento, no es mas que un suceso, que ocurre fuera del contexto de una ejecución de código normal. Para aclarar mas el tema, veamos ejemplos de lo que es un evento, en actionscript:

  • Un click del usuario
  • El inicio de lectura de datos, de un archivo remoto
  • El término de lectura de datos, de un archivo remoto
  • La creación completa de un componente.

¿Cómo podemos controlar el momento en el que un usuario hace click? Tenemos que agregar un escuchador(listener) que este al pendiente de cuando ocurra el evento. Por ejemplo, para saber y controlar el momento exacto en que un usuario da click en un botón nuestro, podrías utilizar el siguiente código:

Actionscript:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application
  3.     initialize="init()"
  4.     xmlns:mx="http://www.adobe.com/2006/mxml"
  5.     layout="horizontal"
  6.     horizontalAlign="center" verticalAlign="middle"
  7.     >
  8.     <mx:Script>
  9.         <![CDATA[
  10.             import mx.controls.Button;
  11.             private var btn:Button;
  12.  
  13.             private function init():void
  14.             {
  15.                 //Aqui llegamos cuando la aplicación se inicie. Controlamos el evento de inicio de la aplicación
  16.                
  17.                 //Crearemos un nuevo botón, para probar en el, el control de eventos
  18.                 btn = new Button();
  19.                 btn.label = "Click Me";
  20.                 //Agregamos un escuchador para el evento click, en el nuevo botón
  21.                 btn.addEventListener(MouseEvent.CLICK, onClick);
  22.                 addChild(btn);
  23.             }
  24.             private function onClick(event:MouseEvent):void
  25.             {
  26.                 //Controlamos el evento del click de nuestro botón
  27.                 //Cada que se dispara el evento, aumentamos el tamaño del botón
  28.                 btn.width += 20;
  29.                 btn.height += 20;
  30.             }
  31.         ]]>
  32.     </mx:Script>
  33.    
  34. </mx:Application>

De hecho en el código anterior, controlamos dos eventos. El primero, el de inicio completo de la aplicación, y el segundo, el del click sobre un botón. Para probar el código, solamente copia y pega el código en una nueva aplicación de Flex 2.

En la siguiente entrega, explicaré como podemos crear nuestros propios eventos y la forma de controlarlos.

1 Comentario para Creación de eventos personalizados, en Flex. Primera parte.

  1. Danonino • Creación de eventos personalizados, en Flex. Segunda parte.

    […] con el tema de los eventos, del post anterior, pasaremos a la parte de crear nuestros propios eventos. Para ejemplificar de mejor forma, […]

Responder

XHTML: Puedes usar las siguientes etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>