Qual o container que você está utilizando?

Em 10 de dezembro de 2010 14:15, Ednei <ednei.tana...@gmail.com> escreveu:

> William,
>
> Tentei seguir sua dica, mas seu um erro em tempo de compilação. Então
> para funcionar tipo que colocar dessa forma
>
>                var fm:IFocusManager = this.getFocus() as FocusManager;
>
> Mas o erro continuou o mesmo.
>
> Tentei colocar a chamada da função no keyUp e Down da tag principal -
> no caso TitleWindow -, tentei colocar no TabNavigator e no Canvas. Mas
> o problema persiste. ;/
>
> Segue a função:
>
> public function mudarComponente(event:KeyboardEvent):void
> {
>        if (event.keyCode == Keyboard.ENTER)
>        {
>                 var fm:IFocusManager = this.getFocus() as FocusManager;
>
>                var next:IFocusManagerComponent;
>
>                if (event.shiftKey)
>                {
>                        next = fm.getNextFocusManagerComponent(true);
>                }
>                else
>                {
>                        next = fm.getNextFocusManagerComponent(false);
>                }
>                next.setFocus();
>        }
> }
>
>
> On 10 dez, 13:29, William Lima <williamlim...@gmail.com> wrote:
> > Ednei,
> >
> > Tente var fm:IFocusManager = this.getFocus();
> >
> > ao invés de
> >
> > var fm:IFocusManager = this.focusManager;
> >
> > Em 10 de dezembro de 2010 10:02, Ednei <ednei.tana...@gmail.com>
> escreveu:
> >
> >
> >
> > > Blz William,
> >
> > >  Já agradeçendo a força... veja: O que acontece é que sempre quando eu
> > > chamo o getNextFocusManagerComponent, o retorno é *null*. Tanto da
> > > forma quanto eu fazia antes, quanto da forma que você postou, quanto
> > > da que eu tentei depois; o que o getNextFocusManagerComponent traz é o
> > > mesmo - null .
> >
> > >  Será que é algum problema com o meu SDK?
> >
> > > Veja o código como está agora:
> >
> > > public function mudarComponente(event:KeyboardEvent):void
> > > {
> > >        if (event.keyCode == Keyboard.ENTER)
> > >         {
> > >                var fm:IFocusManager = this.focusManager;
> > >                 var next:IFocusManagerComponent;
> >
> > >                if (event.shiftKey)
> > >                {
> > >                        next = fm.getNextFocusManagerComponent(true);
> > >                }
> > >                else
> > >                {
> > >                        next = fm.getNextFocusManagerComponent(false);
> > >                }
> > >                next.setFocus();
> > >         }
> > > }
> >
> > > On 8 dez, 22:12, William Lima <williamlim...@gmail.com> wrote:
> > > > Blz Ednei,
> >
> > > > Eu uso assim:
> >
> > > > ...
> > > > public function mudarComponente(evento: KeyboardEvent):void {
> > > >             if (evento.keyCode == Keyboard.ENTER){
> > > >                     if (evento.shiftKey){
> >
> > > > focusManager.getNextFocusManagerComponent(true).setFocus();
> > > >                     }
> > > >                     else{
> >
> > > > focusManager.getNextFocusManagerComponent(false).setFocus();
> > > >                     }
> > > >             }
> > > >         }
> > > >    ...
> >
> > > > para chamar este método coloco o mudarComponente na propriedade
> keyDown
> > > de
> > > > cada componente que desejar, ou pode colocar no keyDown do container
> > > assim
> > > > tudo que poderá receber um foco será 'atingido'.
> >
> > > > Espero ter ajudado!
> >
> > > > Em 8 de dezembro de 2010 19:58, Ednei <ednei.tana...@gmail.com>
> > > escreveu:
> >
> > > > > Repostando a função.
> >
> > > > >            protected function
> > > handleKeyboardEnter(event:KeyboardEvent):void
> > > > >            {
> > > > >                if (event.keyCode== 13)
> > > > >                {
> > > > >                                var fm:IFocusManager =
> > > this.focusManager;
> > > > >                    var next:IFocusManagerComponent =
> > > > > fm.getNextFocusManagerComponent();
> > > > >                     fm.setFocus(next);
> > > > >                 }
> > > > >            }
> >
> > > > > On Dec 8, 8:05 pm, Ednei <ednei.tana...@gmail.com> wrote:
> > > > > > Opa, eu tenho um código dentro da minha classe InputMoney. Na
> qual
> > > > > > quando o usuário apertar ENTER, o focus passaria para o próximo
> campo
> > > > > > - como acontece com o Tab.
> >
> > > > > >             protected function
> > > > > handleKeyboardEnter(event:KeyboardEvent):void
> > > > > >             {
> > > > > >                 if (event.keyCode== 13)
> > > > > >                 {
> > > > > >                                 var fm:IFocusManager =
> > > this.focusManager;
> > > > > >                     var next:IFocusManagerComponent =
> > > > > > fm.getNextFocusManagerComponent();
> > > > > >
> fm.setFocus(fm.getNextFocusManagerComponent());
> > > > > >                 }
> > > > > >             }
> >
> > > > > > Mas aparece essa mensagem.
> >
> > > > > > TypeError: Error #1009: Não é possível acessar uma propriedade ou
> um
> > > > > > método de uma referência de objeto nula.
> > > > > >         at
> > > > > mx.managers::FocusManager/setFocus()[C:\autobuild\3.2.0\frameworks
> > > > > > \projects\framework\src\mx\managers\FocusManager.as:545]
> > > > > >         at
> > > > > br.com.app.component::InputMoney/handleKeyboardEnter()[C:\xampp
> > > > > > \htdocs\gw\src_flex\br\com\app\component\InputMoney.as:80]
> >
> > > > > --
> > > > > 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 emhttp://
> groups.google.com/group/flexdev
> >
> > > > --
> > > > *William de Farias Lima*
> > > > Desenvolvedor - FCM Sistemaswww.fcmsistemas.com.br
> > > > williamlima @fcmsistemas.com.br
> >
> > > --
> > > 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 emhttp://groups.google.com/group/flexdev
> >
> > --
> > *William de Farias Lima*
> > Desenvolvedor - FCM Sistemaswww.fcmsistemas.com.br
> > williamlima @fcmsistemas.com.br
>
> --
> 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
>



-- 
*William de Farias Lima*
Desenvolvedor - FCM Sistemas
www.fcmsistemas.com.br
williamlima @fcmsistemas.com.br

-- 
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

Responder a