Olá,
Estou desenvolvendo uma aplicação comercial, então criei uma classe para validação dos campos como cpf, cep, etc, etc;
Um desses métodos verifica se os campos estão em branco, basta que você no formulário, passe o painel que está em uso, vejam o código abaixo:
public boolean verificarCamposEmBranco(JPanel jif) {
Component components[] = jif.getComponents();
for (int i = 0; i < components.length; i++) {
boolean campotexto = components[i] instanceof JTextField;
boolean campoformatado = components[i] instanceof JFormattedTextField;
String mensagem = "Você deve preencher todos os campos";
String titulo = "Atenção";
if (campotexto) {
if (((JTextField) components[i]).getText().equals("")) {
JOptionPane.showMessageDialog(null, mensagem, titulo, JOptionPane.ERROR_MESSAGE);
return false;
}
} else if (campoformatado) {
//Dúvida
}
}
return true;
}
Acontece que se o campo usa máscara, idependente de eu digitar algo ou não, ele nunca estará vazio.
Pensei em fazer a contagem dos caracteres, porém o resultado é o mesmo.
Alguém tem alguma idéia?
Gostaria de fazer do modo mais genérico possível como fiz para os JTextField, economizaria muito código!
Obrigado! 