Comunidad de diseño web y desarrollo en internet online

acceder a TextArea desde una Clase

Citar            
MensajeEscrito el 15 Ene 2009 09:16 pm
Hola muchachos, tengo un problema con mi proyecto

tengo en mi pelicula un TextArea llamado ta, y tengo dos clases: clase1 y clase2, en la clase uno hago procedimientos y en la clase2 hago procedimientos y muestro resultados con trace.

mi pregunta es: ¿como hago para acceder o insertar el texto a mi textArea desde mi clase2.

les dejo una imagen para ilustrar lo antes dicho

http://www.imageunload.com/public/12035/clases.png?no_history

Por oxygen2

36 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Ene 2009 07:49 am
La solución que se me ocurre es simplemente pasarle el en constructor la instancia del TextArea

Código ActionScript :

/**Clase 2
public Class clase2{
         private var _target:TextArea; //<---declaramos una variable
         public function clase2(target:TextArea){
                _target=target  //<--le damos valor
         }
         public funcion escribirAlgo(texto:String){
               _target.Text=texto; //<--podemos usarla en un método
         }
}

Código ActionScript :

/**Película***/
var controlador:clase2=new clase2(ta)
controlador.escribirAlgo("Hola Mundo")


Una observación. Estamos creando una clase con una especie de parámetro que es el "target". Otra opción pasaría porque fuera la película la que cambiara el texto. Así, la clase2, en lugar de tener una función que cambiara el texto del TextArea, debería tener una función que devolviera un string. La Película principal debería ser la que llamara a la función (método) de la clase2 y cambiara el TextArea conforme a ese String

NOTA:Acostumbremonos a que el nombre de las Clases empiece por mayúsculas. Así es mejor nombre "Clase1" que "clase1". Sé que es una convención, pero hace más fácil la lectura de código

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Ene 2009 02:37 pm
no funciona

1046: No se encontró el tipo o no es una constante en tiempo de compilación: TextArea.

Por oxygen2

36 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Ene 2009 04:47 pm
Mira este tip de comunicación entre clases.

Por fredybg

116 de clabLevel

1 tutorial

 

firefox
Citar            
MensajeEscrito el 19 Ene 2009 07:43 am

oxygen2 escribió:

no funciona
1046: No se encontró el tipo o no es una constante en tiempo de compilación: TextArea.

Tienes que poner el import

Código ActionScript :

import fl.controls.TextArea;


NOTA:Andar dispachando eventos, tal y como muestra el "tip" me parece muy útil en otro tipo de Clases. En una Clase sencilla andar con patrones Singelton, dispacth Events y demás vainas me parece algo "exagerado" (es sólo una opinión)

Por Eliseo2

710 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.