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