Gabriela,
      O método para criar e adicionar métodos filhos é o
createChildren, em algumas situações se usa o commitProperties qd a
criação de objetos filhos depende de valores atribuídos a atributos da
classe.

                 public function TesteClasse(w:Number, h:Number){
                         super();
                         this.width=w;
                         this.height=h;
                 }

                 override protected function createChildren():void {
                         super.createChildren();

                         var t:TesteClasseContainer= new
TesteClasseContainer(w,h);
                         addChild(t);
                 }

    E a tua classe interna pode ficar assim:
            class TesteClasseContainer extends Canvas{

[]s
Fabio da Silva
http://fabiophx.blogspot.com/

On 1 fev, 11:23, Gabriela Trindade Perry <[email protected]>
wrote:
> Oi.
> Eu achava que entendia do tal do ciclo de criação de componentes, mas
> parece que não...
> Acontece que eu tenho duas classes: uma public que chama uma internal.
> Eu instancio e coloco a public onde quer que seja, e ela por usa vez
> instancia e coloca a internal como sua filha.
> Desse jeito que eu falei, uma borda é mostrada (na classe interna).
> O esquisito é que se eu colocar o modificador da interna como public,
> a borda some...
> Seguem os arquivos pra quem quiser testar...
>
> APPLICATION
> <mx:Application
>         xmlns:mx="http://www.adobe.com/2006/mxml";
>         layout="absolute"
>         creationComplete="initApp()">
>
>         <mx:Script>
>                 <![CDATA[
>                         import com.TesteClasse;
>
>                         private function initApp():void{
>                                 var t:TesteClasse= new TesteClasse(300, 300);
>                                 addChild(t);
>                         }
>                 ]]>
>         </mx:Script>
> </mx:Application>
>
> /*******************************/
> TesteClasse
>
> package com{
>         import mx.containers.Canvas;
>
>         public class TesteClasse extends Canvas{
>
>                 public function TesteClasse(w:Number, h:Number){
>                         super();
>                         this.width=w;
>                         this.height=h;
>
>                         var t:TesteClasseContainer= new 
> TesteClasseContainer(w,h);
>                         addChild(t);
>                 }
>
>         }
>
> }
>
> /*******************************/
> TesteClasseContainer
> package com{
>         import mx.containers.Canvas;
>
>         internal class TesteClasseContainer extends Canvas{
>         //public class TesteClasseContainer extends Canvas{
>
>                 public function TesteClasseContainer(w:Number, h:Number){
>                         super();
>                         this.width=w;
>                         this.height=h;
>                 }
>
>         }
>
> }

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a