Dúvida JFormattedTextField + MaskFormatter

Boa Tarde pessoal

Estou querendo tratar um caixa de texto de forma que não seja possivel digitar ou colar caracteres não numéricos.
Pesquisando montei o seguinte código

        javax.swing.text.MaskFormatter formatter = null;
        try{
            formatter.setValidCharacters("0123456789"); 
        }catch(java.text.ParseException e){}
        txtValidade = new javax.swing.JFormattedTextField(formatter);

porém esse código só faz o tratamento quando o componente perde o foco,
Alguém conhece alguma solução diferente??

marceloamigo veja…
pode ser q te ajude ok

http://www.guj.com.br/posts/list/53063.java#279137
http://www.guj.com.br/posts/list/94852.java#507950

T+

[quote=marceloamigo]Boa Tarde pessoal

Estou querendo tratar um caixa de texto de forma que não seja possivel digitar ou colar caracteres não numéricos.
Pesquisando montei o seguinte código

        javax.swing.text.MaskFormatter formatter = null;
        try{
            formatter.setValidCharacters("0123456789"); 
        }catch(java.text.ParseException e){}
        txtValidade = new javax.swing.JFormattedTextField(formatter);

porém esse código só faz o tratamento quando o componente perde o foco,
Alguém conhece alguma solução diferente??[/quote]

FAZ O SEGUINTE

MaskFormatter mascara = new MaskFormatter("##########");// Os “#” so aceita numeros

JFormattedTextField fCamp = new JFormattedTextField(mascara);

Para qualquer caractere “*”
Numeros “#”
OK?

Esse é um bom jeito para isso!

try{
     javax.swing.text.MaskFormatter cpf= new javax.swing.text.MaskFormatter("###.###.###-##");
     jFormattedTextField1 = new javax.swing.JFormattedTextField(cpf);
      }
        catch (Exception e){
      }

muito bom!!!

boa tarde
o campo não tem um formato definido, essa classe não resolve

Esse exemplo pode ser trocado assim:

tipo = (############)
Só vai poder existir numeros saca!!!