MaskFormatter - Forçar digitação no campo

2 respostas
S

E ae galera, beleza?

Tenho um JFormatTextFiel que recebe uma mascara MaskFormatter. Esta funcionando, consegui fazer o que queria, digitar somente número e aceitar somente 6 caracteres.

Porém eu tenho outra duvida, quando eu não preencho este campo de texto que alimenta uma variável do tipo int, ele da o seguinte erro: Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string: " ", provavelmente porque ele tenta jogar na minha variavel int o valor do campo não preenchido que é " ".

Na minha validação tentei fazer da seguinte forma:

if(txtRA.getText() == null || txtRA.getText() = " "){ JOptionPane.showMessageDialog(null,"Preencha o número do RA."); return; }

Só que não funciona, de alguma forma ele não reconhece na minha condição o " ", ou “”, ou o null.

Pelo debug eu vejo que o valor esta exatamente igual ao que estou comparando, sabem o que pode ser?

Para ajudar segue src da minha mascara:

MaskFormatter maskRA = null; try { maskRA = new MaskFormatter("######"); maskRA.setValidCharacters("[telefone removido]"); } catch (ParseException ex) { ex.printStackTrace(); }

Podem me ajudar?

Obrigado a todos.

2 Respostas

marcelo_emanoel

testa usar getValue() no lugar de getText();
o getText retorna o valor com a mascara…
o getValue retorna o valor inserido sem a mascara…

S

marcelo_emanoel:
testa usar getValue() no lugar de getText();
o getText retorna o valor com a mascara…
o getValue retorna o valor inserido sem a mascara…

Muito obrigado pela ajuda, mas resolvi de outra forma.

Abraços

Criado 6 de dezembro de 2007
Ultima resposta 6 de dez. de 2007
Respostas 2
Participantes 2