[problema com formato do jtextfield]

5 respostas
M

Olha só meu povo eu tenho um jTextfield formatado

private void formatoDataC()
    {
        try
        {
            //SimpleDateFormat data_formatada = new SimpleDateFormat("dd/MM/yyyy");
            formatoDataC = new MaskFormatter("####-##-##");
        }
        catch(Exception e)
        {
            //JOptionPane.showMessageDialog(null, "Não foi possivel setar a máscara, erro = "+e);
            e.printStackTrace();
        }
    }

belezera pura ele seta o formato corretamente ! só que ai vem o problema eu fis uma condição! para que se o campo estiver vazio para voltar o foco la e digitar obrigatóriamente

else if (jtF_Cep.getText().isEmpty())
            {
                    JOptionPane.showMessageDialog(null,"É necessário digitar o Cep, verifique!!!");
                    jtF_Cep.requestFocus();
            }

só que eu setei ####-##-## e o jTextfield aparece com - - entao o getText nao fica como empty e ele cadastra entende? como resolvo isso? tem como eu fazer tipo um else if (jtF_Cep.getText(). e AQUI colocar se ele tiver ate 2 caracter ele n cadastrar!?

5 Respostas

doug

Olá

Se vc tentar tratar por expressão regular, acho que pode ser uma saída.
Se tem uma forma menos elegante de verificar caracter por caracter.

Se eu tiver uma luz aqui e achar uma solução elegante e volto a postar,
mas por enquanto ficaria com a expressão regular.

Espero ter ajudado
Flwsss

berg.pb

Bem, não é uma solução elegante, mas se ele retorna exatamente " - - ", pra quebrar um galho, vc pode fazer a verificação com os caracteres.

else if (jtF_Cep.getText().isEmpty() || jtF_Cep.getText().equals(" - - "))
            {
                    JOptionPane.showMessageDialog(null,"É necessário digitar o Cep, verifique!!!");
                    jtF_Cep.requestFocus();
            }

Como disse, quebrar galho!!
Abraços

M

e o que seria elegante fazer?

M

Negativo se eu deixar assim

else if (jtF_DataN.getText().equals(" - - "))
            {
                    JOptionPane.showMessageDialog(null,"É necessário digitar a Data de Nascimento, verifique!!!");
                    jtF_DataN.requestFocus();
            }

e mandar cadastrar com o espaço vazio ele cadastra! PQ? simples pq eu formatei esse campo assim

formatoDataN = new MaskFormatter("####-##-##");

entao ele entende que o campo nao esta assim (" - - “) e sim que esta assim (”####-##-##") mas se eu colocar .equals ("####-##-##") tamem nao ira funcionar :frowning: o que eu faço socorroooooooooooooooo ;~

M

up

Criado 14 de março de 2009
Ultima resposta 17 de mar. de 2009
Respostas 5
Participantes 3