Acción Tutorial Script 3 - 011


En continuación con el tutorial ...

Esta parte ya ha sido incluido en el libro disponible para su descarga aquí ...

Tome el siguiente código en un paquete debidamente revisados:

  paquete de prueba 
  ( 
  flash.events.Event importación; 
  mx.containers.Panel importación; 
  mx.controls.Label importación; 
  mx.events.ChildExistenceChangedEvent importación; 
  mx.events.FlexEvent importación; 
  Prueba de clase pública se extiende Grupo 
  ( 
  / / Poner la imagen como incrustar (que se adquieren y se definen en nuestro applicativo 
  / / Variable con el inmediatamente inferior (iconImg) disponible en forma de clase. 
  [Insertar ( "flexBtn.png")] 
  var iconImg privado: Clase; 
  / * Esta propiedad estará disponible como elitura / escribir por ejemplo: 
  meuPainel.nomePessoal * / 
 [Bindable] 
  var privado _nomePessoal: String; 
  / / Disponible como dataCriacao en modo de sólo lectura; meuPainel.dataCriacao 
  var privado _dataCriacao: String; 
  / / Variable temporal utilizado para saber la hora / minutos / segundos utilizados en baja 
   Date; var datos privados: fecha = new Fecha; 
  las pruebas de la función pública () 
  ( 
  / / Definir el grupo 
  este. width = 270; 
  este. height = 270; 
  este. x = 0; 
  este. y = 0; 
  / / Agregar el eventListner 
  ,0, true ); este. addEventListener (FlexEvent.CREATION_COMPLETE, creado, falsa, 0, true); 
  ) 
   { creado private function (evt: FlexEvent): void ( 
  / * Establecer la hora exacta de la creación del grupo, usando la fecha en este 
  d si los datos variables * / 
  +dados.getSeconds(); _dataCriacao = dados.getHours () + ":" dados.getMinutes + () + ":" + dados.getSeconds (); 
  / / Agregar el icono para el grupo 
  este. titleIcon = iconImg; 
  / / Comprobar si el nomePessoal se define 
  if (! _nomePessoal) ( 
  / * Si el nombre no se ha dado, le damos un nombre temporal, el caso se dará como: 
  Panel de "número" cuando el número es un valor aleatorio entre 0 y 15, este 
  número se logra a través de Math.floor (Math.ramdom () * 15) * / 
  _nomePessoal = "Panel" + Math.floor (Math.random () * 15); 
  ) 
  / * Usamos una etiqueta que indica el nomePessoal y la hora de la creación de la mesa redonda, esta 
  Etiqueta desaparecer tan pronto como los niños se agregan al panel, por lo que usamos 
  un evenListner * / 
   Label; var LBL: etiqueta = new Etiqueta; 
  lbl.name = "estado"; 
  lbl.x = 0; 
  lbl.y = 0; 
  / / Definir el texto 
  lbl.text = _nomePessoal + "creado:" + dataCriacao; 
  / / Agregar al panel como un niño 
  este. addChild (LBL); 
  / / Evento Lištná saber cuándo un niño se ha añadido al panel de 
  / / Nos puede quitar la etiqueta colocado en la parte superior. 
  , 0, true ); este. addEventListener (ChildExistenceChangedEvent.CHILD_ADD, eliminar falsa, 0, true); 
  / / Despachos terminado el evento personalizado 
   Event( "btnsProntos" )); este. dispatchEvent (nuevo suceso ( "btnsProntos")); 
  / / Quitar el eventListner terminao ya que sólo se activará una vez. 
  este. removeEventListener (FlexEvent.CREATION_COMPLETE, creado); 
  ) 
   { private function elimina (evt: ChildExistenceChangedEvent): void ( 
  / / Función para quitar la etiqueta con el nombre y la hora de la creación, esto ocurre cuando 
  / / Añade un hijo al grupo. 
  / / Quitar el niño 0 (LBL niño es utilizado, el número es cero porque nada 
  / / Más se añadió al grupo) 
  este. removeChildAt (0); 
  / / Eliminar el evento Lištná de otro modo si añade más de un niño 
  / / Esta función siempre quitar el último insertado 
  este. removeEventListener (ChildExistenceChangedEvent.CHILD_ADD, elimina); 
  ) 
  / * Que sólo quiere la propiedad de dataCriacao es de sólo lectura, que 
  sólo la función de leer este valor, con la presentación, llamado getter * / 
  función pública se dataCriacao (): String ( 
  _dataCriacao regreso; 
  ) 
  / * Como _nomePessoal desea que la propiedad sea para leer o para escribir, 
  Tengo que decir a nuestra clase que puede hacer o recibir contenido y de que 
  variable, haciendo esto con las funciones y septiembre de conseguir ** / 
  función pública se nomePessoal (): String ( 
  _nomePessoal regreso; 
  ) 
  / / Obtener una cadena como nombre 
   { función pública en septiembre de nomePessoal (nombre: String): void ( 
  _nomePessoal = nombre; 
  ) 
  ) 
  ) 

En el ejemplo anterior se ha utilizado una clase más compleja, pero ya que está debidamente discutido será bastante fácil de entender. En este ejemplo podemos comprender la siguiente, un panel se utiliza como una base, (se extiende) y sus propiedades ... después de que se añade automáticamente un ejemplo de titleIcon atributos heredados del padre (Grupo).

¿Cuáles fueron entonces añadido algunos nuevos atributos para nuestro personal de Grupo, como la nomePessoal y dataCriacao, donde ambos se puede acceder para leer sus valores:

  trace (meuPainel.nomePessoal); 
  trace (meuPainel.dataCriacao); 

nomePessoal y pueden definirse como sigue:

  meuPainel.nomePessoal = "nombre de mi grupo de personal"; 

Esta lectura / escritura de estos valores sólo es posible debido a la getter'se setter que están disponibles en nuestra clase, lo que se utiliza para obtener en:

trace (meuPainel.nomePessoal);

y septiembre:

meuPainel.nomePessoal = "nombre de mi grupo de personal";

En este ejemplo vemos también sobre el uso de algunas funciones matemáticas (suelo y ramdom) que se puede acceder por la clase de matemáticas. Luego agregar una etiqueta al grupo cuando se creó con el nomePessoal y el tiempo de su creación, y añadir un eventListener esta etiqueta va a desaparecer cuando un niño se añade al panel. Sin olvidar que han eliminado eventListeners para evitar los conflictos.

Para probar esta clase acaba de hacer:

mx.controls.Button importación;

teste.teste importación;

mx.controls.Alert importación;

var privado myPanel: prueba = new prueba;

private function init (): void (

myPanel.addEventListener ( "btnsProntos", terminado);

/ / = MyPanel.nomePessoal "Grupo Grün" puede o no establecer el nombre de nuestro grupo.

addChild (myPanel);

)

private function terminado (evt: Event): void (

Alert.show ( "icono del Panel y completa.")

)

addChildMe private function (): void (

var temp: = new Button Button;

myPanel.addChild (temp);

)

Aquí usted llamar a la función de inicio, nuestro grupo se crea en el escenario, con el nombre y hora de creación es ... llamar a la función addChildMe un botón se añadirá a nuestro grupo y que existía la etiqueta se eliminará automáticamente. Y listo en su última clase que se crea no menos un panel personalizado, y sin hacer mucho ya los métodos utilizados y los parámetros hereditarios, y la composición que se ha explicado ..

Continuación ...

Abrazar.

ccommons

la versión en formato pdf disponible temporalmente.
Dejar un comentario o una Trackback

Un comentario

  1. Danilo
    4 de julio de 2008 a 7:05 pm | Permalink

    frente a estas mismas fuerzas ganado este tutorial me ayuda demasiado ...

    :-)

Déjanos tu comentario

Su dirección de correo electrónico nunca es publicado o compartido. Los campos obligatorios están marcados con un *