Verificar dados na hora da digitacao

dae galera, blz?
pessoal, estou com algumas duvidas no desenvolvimento de um sistema simples…
a primeira eh a seguinte: tenho um campo cpf, o qual deveria receber um integer…no entanto queria saber como faco para que no momento em que o cara estah entrando com os dados ele o impeca alertando-o de que a tecla digitada naum eh aceita(exemplo: o cara ao digitar os numeros pressiona uma tecla diferente de numero, portanto deve ser gerado um evento evitando a insercao da mesma e alertando o usuario)o que devo usar para isso?
segunda: como faco para desenvolver um programa em que tenho varios campos( por exemplo o campo nome, sobrenome, cpf , etc…) para que ao pressionar o tab ou o enter, fazer com que o cursor se posicione no proximo campo?(exemplo: digitei o nome, e ao pressionar o tab ou enter, gostaria que o cursor aparecesse no proximo campo, que no exemplo eh o sobrenome)…
agradeco a atencao!
Abracos!

Oi

timbeh, a parte do tab, acontece normalmente, tu pode até controlar com FocusListener…

Bom, sobre o campo, tu pode usar um KeyListener, mas isso não seria muito elegante, melhor colocar um JFormattedTextField, aí tu pode aproveitar e ja coloca-lo formato pra CPF, data, etc…

T+

outra solucao, eh simplesmente deixar o usuario por as letras no lugar de numeros, e na hora de converter pra inteiro, vc poe num bloco try-catch, se gerar uma exception, vc avisa o usuario q ele tem q preencher com um numero…

valeu galera pela ajuda…
eu jah havia feito tratando excecoes, e queria mesmo evitar que dados invalidos fossem digitados…
agradeco a ajuda dev…
gostaria de saber como faco o JFormatText…para data ou cpf…
pois naum encontrei ainda material para utiliza-lo…
podem me ajudar?

tenta o mask

MaskFormatter mascCNPJ = new MaskFormatter("##.###.###/####-##"); 
mascCNPJ.setPlaceholderCharacter('_'); 
JFormattedTextField textoCNPJ = new JFormattedTextField(mascCNPJ);