Mascara para jTextField

5 respostas
L

Galera,

Gostaria de saber se tem jeito de mascarar um campo que será inserido um valor(moeda) , tipo 1025,90 ou 122,22 ou 10,50 por exemplo.

Desde já agradeço

5 Respostas

Andre_Rosa

Você poderia ter pesquisado. Esse tipo de pergunta é bastante comum. Veja:

gabrielemidio

lucasamarante19 olha esse código vê se te ajuda. Abraços

JFormattedTextField ftfplaca;
            MaskFormatter mascaraplaca;

   try{
            mascaraplaca = new MaskFormatter("???-####");//Dentro do parentese você altera o formato da mascara
            mascaraplaca.setPlaceholderCharacter('_');
        
        }catch(ParseException ecxp){}
        
        ftfplaca = new JFormattedTextField(mascaraplaca);
armando-couto
try {

jFormattedTextField1.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("#.###,##")));

} catch (java.text.ParseException ex) {

ex.printStackTrace();

}

Basta você criar uma variável do tipo jFormattedTextField, e colocar o modelo da máscara que vc quer, nesse caso ficou 1.000,00.

L

eu to fazendo o meu projeto no netbeans e eu coloquei essa mascara (#.###,## ) no formatterFactory e ele só está aceitando valor acima de mil. No caso , tem como fazer uma mascara onde o usuario possa colocar vários tipos de valores (moeda)

exemplo R$ 5.65 | R$ 10.28 | R$ 123.90 | R$1092.87 | R$10234.93 …

desde já agradeço

abraços

armando-couto

Cara a tabela que tem explicando sobre “javax.swing.text.MaskFormatter”.

Caracteres Descrição

Qualquer número válido, usa Character.isDigit .

» Caractere de escape, usado para escapar nenhum dos caracteres de formatação especial.
U Qualquer personagem ( Character.isLetter ). Todas as letras minúsculas são mapeados para letras maiúsculas.
L Qualquer personagem ( Character.isLetter ). Todas as letras maiúsculas são mapeados para letras minúsculas.
A Qualquer caractere ou número ( Character.isLetter ou Character.isDigit )
? Qualquer personagem ( Character.isLetter ).

  • Qualquer coisa.
    H Qualquer caractere hexadecimal (0-9, af ou AF).

Você para fazer isso, tem que fazer alguma lógica de programação, pois eu acho que sem a logica não tem como, algo do tipo pegar o que foi digitado e colocar no formato, mas se foi digitado tantos números fica neste formato, outros tantos números outro formato.

Espero ter ajudado.

Criado 13 de junho de 2011
Ultima resposta 14 de jun. de 2011
Respostas 5
Participantes 4