Criando view em uma classe actionScript

Olá amigos… tudo bem??

estou com uma duvida em flex e gostaria da ajuda de vcs… O seguinte. Estou desenvolvendo um sistema em flex onde irei implementar o Pattern Observer … gostaria de fazer isso na Unha por questões de didática, pois esse projeto eh um trabalho de faculdade… por isso não qro usar o [Bindable] do flex para atualizar a cada alteração de valores… então gostaria de saber se posso, no construtor da minha classe criar um panel com alguns componentes que será adicionado na minha view assim q essa classe for instanciada e iniciada… tipo assim


public class MinhaClasse extends Observable
{

	public function MinhaClasse(view:Object):void 
	{
		var painel:Panel = new Panel;
	
		painel.width = 180;
		painel.height = 115;
		painel.x = 268;
		painel.y = 10;
		painel.id = "painel2";
		painel.title = "Novo painel";

		view.addChild(painel);		
	}
}

minha chamada na view seria algo como:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

	<mx:Script>
		<![CDATA[
			import mx.managers.PopUpManager;

			public function criarClasse():void
			{
				var classe:MinhaClasse = new MinhaClasse(this);
			}
		]]>
	</mx:Script>

</mx:Application>

O parametro que meui construtor recebe seria a referencia do Componente ou modulo que instanciou minha classe para poder usar o addChild para incluir meu panel criado ao meu componente ou modulo…

primeiro: criar esse panel no construtor da minha classe eh possivel e seria dessa forma que deveria fazer?
Segundo: o modo de passar o parametro pro construtor seria desse modo msm, até o tipo (view:Object)?

desde já agradeço a atenção…

abraços

Júnior,
[quote]primeiro: criar esse panel no construtor da minha classe eh possivel e seria dessa forma que deveria fazer?[/quote]
No ciclo de vida de objetos Flex o certo é criar objetos filhos no método createChildren

protected function createChildren():void {
     super.createChildren();
     var classe:MinhaClasse = new MinhaClasse(this);
}

Pode ser deste modo como especificar um tipo mais específico:

[]s
Fabio da Silva

Fala Fabio… primeiro muito grato pela atenção, amigo…

mas não entendi direito o q quis dizes abaixo

protected function createChildren():void {  
     super.createChildren();  
     var classe:MinhaClasse = new MinhaClasse(this);  
}

sou novo em flex e não conheço esse modo…

essa function ficará onde? no meu MXML? e qto essa chamada

super.createChildren(); estou chamando esse metodo da classe do qual herdo, certo? mas que eh essa classe…

meu amigo, desculpe o monte de bobeira aqui exposta na resposta, mas estou mais perdido que cego em tiroteio agora…rs

grato novamente pela atenção

abraço

Júnior,
Tranquilo.
Em vez de vc ter um método criarClasse vc usará createChildren.
Por questões de memória o Flex utiliza um ciclo de vida, q passa por várias etapas, disparo de eventos métodos específicos.
Métodos protected são métodos definidos na classe mãe a qual vc está fazendo um override, isto é, vc quer q ela faça o é feito na classe mãe mais o seu código, por isso o super, se não for colocado vc pode ter resultados inesperados.

Dei uma palestra no FlexMania sobre este assunto: [url]http://www.flexmania.com.br/gravacoes.php[/url]
Vc tb pode ler em Creating and Extending Adobe Flex 3 Components no site [url]http://www.adobe.com/support/documentation/en/flex/[/url]

Se permite, como está iniciando te indico:

http://fabiophx.blogspot.com/2009/04/por-onde-comecar.html
http://fabiophx.blogspot.com/2010/03/aprendendo-flex-4.html

[]s