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…
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?!
public void check() throws Exception{
Class classe = obj.getClass();
Field fields[] = classe.getDeclaredFields();
for(Field field : fields){
if (field.isAnnotationPresent(Obrigatorio.class)){
field.setAccessible(true);
if (field.get(obj) instanceof JFormattedTextField){
JFormattedTextField campo = (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()))
throw new Exception("O campo "
+campo.getName()+" esta vazio!");
} else if (field.get(obj) instanceof JTextField){
JTextField campo = (JTextField) field.get(obj);
if(campo.getText().isEmpty())
throw new Exception("O campo "
+campo.getName()+" esta vazio!");
}
}
}
}