da forma q te mostrei... - tenho um classe MXML (sim, arquivos MXML tmabém são classes) q sempre chamo-as de UI (user Interface): tipo assim: (exemplo hipotético)
LoginUI.mxml ======================== <panel> <textinput id="tiLogin" /> <textinput id="tiSenha" /> <button id="btLogin" /> </panel> Essa classe só tem os componentes, nenhum evento, nenhum comportamento.. nada.. só os componentes por si mesmo e estilos que tb podem ser definidos no css. Depois, terei minha classe AS3 que vai extender o MXML dando o devido comportamento a essa tela: Login.as ========================== public class Login extends LoginUI { //aqui já tenho acesso aos meus componentes por herança //construtor public function Login() { super(); } //sobrescrevendo o método que é excutado após a criação de todos os componentes filho, durante o ciclo de vida do objeto. override protected function childrenCreated():void { super.childrenCreated(); //nesse momento, meus controles já estão inicializados e prontos para serem usados. //nesse ponto, eu amarro os comportamentos desses componentes btLogin.addEventListener(MouseEvent.CLICK, onBtLoginPerformed); } //método executado qnd o botao de login sofrer um MouseEvent.CLICK. protected function onBtLoginPerformed(e:MouseEvent):void{ Alert.show('botão login pressionado'); } } Daí, no meu application eu declaro meu componente que possui os comportamentos, e não o UI. <application xmlns:comp="components.*"> <comp:Login /> <!-- Atenção.. repare q estou declarando o componente da minha classe e não a UI. --> </application> Dessa forma fica bem mais reaproveitável. Pense que eu tenha outra janela q use o mesmo padrão da login... mas o *comportamento *dela tem q ser diferente... tudo bem, posso simplesmente criar uma nova classe NovaTela.as que extends a LoginUI do mesmo geito. A idéia é abstrair *totalmente* o UI do comportamento programático do AS3. Ainda assim, fazemos bom uso de um dos pilares da OO que é a herança. Espero ter entendido. Abraços, bons estudos. 2009/4/17 Piero Brito <pie...@gmail.com> > Mário Júnior teria como voce me mandar um exemplo do jeito que vc > implementa codebehind? > > > 2009/4/17 Piero Brito <pie...@gmail.com> > >> Pois é muito estranho mesmo, já tentei de tudo e não consegui e também não >> achei nada na net. >> Valeu pela ajuda >> >> 2009/4/17 Mário Júnior <juninho...@gmail.com> >> >>> Hum... q estranho... >>> >>> Da forma q eu faço uso repeaters sem problemas. >>> >>> >>> >>> >>> >>> 2009/4/17 Piero Brito <pie...@gmail.com> >>> >>>> Mário Júnior eu entendi o jeito que voce usa o codebehind mas o estranho >>>> é que sempre usei desse jeito e dava certo, mas agora eu descobri que o >>>> erro >>>> não está no check e sim no mx:Repeater pois quando eu tirei o chekbox de >>>> dentro do repeater ( no MXML ) parou de dar erro na criação da tela. >>>> Valeu >>>> >>>> 2009/4/17 <juninho...@gmail.com> >>>> >>>>> Piero... se reparar bem, o exemplo do link q vc mandou é "inverso" a >>>>> forma que eu utilizo. >>>>> Lá ele cria o componente com classe AS e faz um UI dele em MXML. >>>>> >>>>> Oq eu faço é criar o UI em MXML com os componentes padrões... e dou o >>>>> comportamento para eles em AS. >>>>> Olha lá o mxml dele é a classe que ele escreveu em as. >>>>> >>>>> Enfim, mas q há algo de estranho com a mensagem (erro de cast???), >>>>> realmente há. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> 2009/4/17 Piero Brito <pie...@gmail.com> >>>>> >>>>>> Na verdade não funcionou não é que o cache aqui não tinha sido apagado >>>>>> , quando eu fui abrir de novo continuou com o mesmo erro. >>>>>> TypeError: Error #1034: Falha de coerção de tipo: não é possível >>>>>> converter [...@4ee6709 em mx.controls.CheckBox. =( >>>>>> >>>>>> >>>>>> >>>>>> 2009/4/17 Eduardo Kraus <eduardokr...@gmail.com> >>>>>> >>>>>>> OK >>>>>>> *Eduardo Kraus* >>>>>>> Desenvolvedor >>>>>>> eduardokr...@gmail.com >>>>>>> http://blog.mxml.com.br >>>>>>> >>>>>>> >>>>>>> 2009/4/17 Piero Brito <pie...@gmail.com> >>>>>>> >>>>>>>> Isso mesmo Eduardo Kraus , funcionou perfeitamente. >>>>>>>> Valeu demais pela ajuda. >>>>>>>> >>>>>>>> =) >>>>>>>> >>>>>>>> 2009/4/17 Eduardo Kraus <eduardokr...@gmail.com> >>>>>>>> >>>>>>>> tenta >>>>>>>>> <mx:Form x="46" y="167" > >>>>>>>>> <mx:Repeater id="rpt_acesso" >>>>>>>>> dataProvider="{arr_acesso}"> >>>>>>>>> <mx:CheckBox id="chk_acesso" >>>>>>>>> label="{rpt_acesso. >>>>>>>>> currentItem.label*.toString()*}" enabled="true" /> >>>>>>>>> </mx:Repeater> >>>>>>>>> >>>>>>>>> *Eduardo Kraus* >>>>>>>>> Desenvolvedor >>>>>>>>> eduardokr...@gmail.com >>>>>>>>> http://blog.mxml.com.br >>>>>>>>> >>>>>>>>> >>>>>>>>> 2009/4/17 Piero Brito <pie...@gmail.com> >>>>>>>>> >>>>>>>>>> >>>>>>>>>> Alguem usa code behind? >>>>>>>>>> Eu to com um problema na hora de declarar uma variavel do tipo >>>>>>>>>> CheckBox no meu code behind, quando eu declaro a váriavel dá o >>>>>>>>>> seguinte erro: Error #1034: Falha de coerção de tipo: não é >>>>>>>>>> possível >>>>>>>>>> converter [...@4ebab69 em mx.controls.CheckBox. >>>>>>>>>> ChecBox no Mxml: >>>>>>>>>> <mx:Form x="46" y="167" > >>>>>>>>>> <mx:Repeater id="rpt_acesso" >>>>>>>>>> dataProvider="{arr_acesso}"> >>>>>>>>>> <mx:CheckBox id="chk_acesso" >>>>>>>>>> label="{rpt_acesso.currentItem.label}" enabled="true" /> >>>>>>>>>> </mx:Repeater> >>>>>>>>>> </mx:Form> >>>>>>>>>> ChecBok na Classe: >>>>>>>>>> public var chk_acesso:CheckBox; >>>>>>>>>> >>>>>>>>>> Obrigado =) >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Piero Silva Brito >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Piero Silva Brito >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Mário Júnior >>>>> Programador Java / Adobe Flex >>>>> http://blog.mariojunior.com >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Piero Silva Brito >>>> >>>> >>>> >>> >>> >>> -- >>> Mário Júnior >>> Programador Java / Adobe Flex >>> http://blog.mariojunior.com >>> >>> >>> >> >> >> -- >> Piero Silva Brito >> > > > > -- > Piero Silva Brito > > > > -- Mário Júnior Programador Java / Adobe Flex http://blog.mariojunior.com --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---