A classe JFormattedTextField não tem o método getText()?
gregorioarthur
tem sim, porém, se for fazer desta forma teria de ser assim:
if(inDtNasc.getText().equals(" / / ")){
}
queria algo como
if(inNome.getText().isEmpty()){
}
ai vc me fla: mas eh so usar o isEmpty da classe JFormattedTextField, porém o campo nao esta vazio enquanto a mascara esta lá, visto que se eu der um getText() no campo fomatado
ele me retorna a mascara como uma string…
por que em razoes obvias, o retorno do campo seria oq esta dentro dele, logo ele estando vazio ou nao ia sempre cair no IF.
o ideal seria isso:
if(inDtNasc.getText().equals(mascaradocampo){
}
gregorioarthur
Alguem consegue?!
o maximo q consegui fazer foi antes de setar a mascara no campo
cria um objeto da classe MaskFormatter e dpois com umas gambi de strings
pega os dados q queria, que era a mascara sem os dados.
mas ainda sim preicsaria disso apartir do campo, há como?!
lina
Oi,
Você poderá utilizar no lugar de getText() o método getValue().
Se ele for == null, quer dizer que o conteudo do campo não foi preenchido até ocupar a mascara inteira.
Tchauzin!
gregorioarthur
Liiiiiiiinnnnnnnnnnnnnnnaaaaaaaaaaaaaa!!!
vlew!!
funciono certim!!!
ficou assim, caso alguem preise um dia:
publicvoidcheck()throwsException{Classclasse=obj.getClass();Fieldfields[]=classe.getDeclaredFields();for(Fieldfield:fields){if(field.isAnnotationPresent(Obrigatorio.class)){field.setAccessible(true);if(field.get(obj)instanceofJFormattedTextField){JFormattedTextFieldcampo=(JFormattedTextField)field.get(obj);// aqui ele checa se o campo tem o valor dentro, se nao tiver vai ser igual // a mascara pega no getValue (que retorna o ultimo valor valido)if(!campo.getText().equals(campo.getValue()))thrownewException("O campo "+campo.getName()+" esta vazio!");}elseif(field.get(obj)instanceofJTextField){JTextFieldcampo=(JTextField)field.get(obj);if(campo.getText().isEmpty())thrownewException("O campo "+campo.getName()+" esta vazio!");}}}}