Membro desde: 10/04/2007 14:04:01
Mensagens: 8
Offline
Olá,
gostaria de saber como funciona o método consume() em um KeyEvent.
A minha maior dúvida é: uma vez chamado o método consume() em um KeyEvent, há como eu restaurar a ação desse evento?
Eu chamo este método para impedir que se insira um caracter em um certo campo em determinadas condições, porém, uma vez que o consume() é chamado, eu não consigo mais utilizar esse campo.
Há como eu "recuperar" o KeyEvent desse campo?
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
Todos os métodos que usam um KeyEvent deveriam iniciar com:
if (evt.isConsumed())
return;
Os objetos do swing respeitam essa regra. Não sei se existe alguma otimização no código que lança o evento, que já deixe de propagar o evento para os listeners, mas creio que deva haver.
Uma vez consumido, o evento não pode ser restaurado.