Aqui o que eu tenho é o seguinte: O arquivo principal (Application), que nela tenho um menu que abre janelinhas TileWindows, que são os forumulários do sistema.
No TileWindows existe um TabNavigator formado por Canvas. On 10 dez, 17:20, William Lima <[email protected]> wrote: > Qual o container que você está utilizando? > > Em 10 de dezembro de 2010 14:15, Ednei <[email protected]> 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 <[email protected]> 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 <[email protected]> > > 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 <[email protected]> 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 <[email protected]> > > > > 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 <[email protected]> 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 > > > > [email protected] > > > > > > Para sair da lista, envie um email em branco para > > > > > > [email protected] > > > > > > 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 > > [email protected] > > > > Para sair da lista, envie um email em branco para > > > > [email protected] > > > > 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 [email protected] > > Para sair da lista, envie um email em branco para > > [email protected] > > 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 [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
