Método para verificar campos JFormattedTextField em branco

2 respostas
muriloazs

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! :smiley:

2 Respostas

luiz_renato

Cara,

Vc já tentou usar code components[i])…getValue()==null [/code] p/ verificar os valores do text’s?

Luiz Renato

muriloazs

luiz_renato:
Cara,

Vc já tentou usar code components[i])…getValue()==null [/code] p/ verificar os valores do text’s?

Luiz Renato

Já usei sim. porém como o valor do campo não volta nulo por causa da máscara, a verificação não dá certo.

O valor do campo data por exemplo volta da seguinte maneira:

String data= "  /  /    ";
Criado 16 de março de 2010
Ultima resposta 16 de mar. de 2010
Respostas 2
Participantes 2