Tratamento de campo - Inteiro [RESOLVIDO]

4 respostas
R

Boa tarde pessoal!
Estou com uma dúvida q me parece simples mas não estou conseguindo resolver…rs

Tenho uma janela com os campos login e senha, onde login só pode receber dados do tipo inteiro. Ao digitar algum dado q naum seja inteiro, o sistema da uma mensagem de exceção.

A dúvida é a seguinte:

Existe alguma forma de tratar o campo para só permitir que receba caracteres do tipo inteiro???
Ou seja, não quero q ele entre na exceção e sim dê uma mensagem personalizada…

4 Respostas

T

Modifique a variavel de login para JFormattedTextField e especifique a mascara conforme exemplo abaixo

javax.swing.JFormattedTextField login = new javax.swing.JFormattedTextField();
login.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#0"))));

O campo somente irá aceitar caracteres númericos

R

Perfeito kra…era isso mesmo que eu precisava…muito obrigado.

Mas uma pergunta, tu sabe onde posso encontrar descrito as formas que tenho de variar esses tratamentos? por exemplo pra só aceitar os padrões de CPF xxx.xxx.xxx-xx ou de data xx/xx/xxxx…é possível fazer isso???

Vlw

T
// CPF

javax.swing.JFormattedTextField cpf = new javax.swing.JFormattedTextField();

cpf.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory( new MaskFormatter( “###.###.###-##” ))); // DATA

javax.swing.JFormattedTextField data = new javax.swing.JFormattedTextField();

data.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new MaskFormatter( “##/##/####” )));

Só que quando você utiliza MaskFormatter que é o caso dos 2 exemplos acima é preciso circular com try e catch

Se você realizar o desenho das Telas em Swing do Java pelo NetBeans, ao selecionar as propriedades do JFormattedTextField é possível definir várias formatações diferentes como CEP, Porcentagem, CPF, CNPJ entre outras…

R

Pow kra…obrigado mesmo…Funcionou perfeitamente…era disso mesmo que eu precisava.

Até mais.

Criado 25 de novembro de 2009
Ultima resposta 27 de nov. de 2009
Respostas 4
Participantes 2