Máscara em Java


Muita gente tem dúvidas em como aplicar máscara em Java (Swing), o processo na verdade é bem simples e totalmente indolor.

O primeiro passo é que você terá que utilizar um jFormattedTextField em lugar do jTextField. Para aplicar a sua máscara em um jFormattedTextField criei um método genérico simples onde você terá que passar como parâmetros:

  • Máscara de formato: a sua máscara em formato String;
  • O jFormattedTextField: o nome dado ao seu JFormattedTextField;
  • O tipo de caracter aceito: os caracteres aceitos em formato String.

O código do método é muito simples:


public void setFormatNumber(String maskFormat, 
  JFormattedTextField jFormatedText, String validCar){
try{
 MaskFormatter mf = new MaskFormatter(maskFormat);
 mf.setValidCharacters(validCar);
 mf.setPlaceholderCharacter(' ');
 mf.install(jFormatedText);
}catch(ParseException pe){
 JOptionPane.showMessageDialog(null,
  "Erro na conversão dos dados no campo!" + pe,
  "Erro!",
 JOptionPane.ERROR_MESSAGE);
}
}

Existe um tratamento para a exception ParseException que dispara uma mensagem de alerta (erro) no formato de um jOptionPane.

Com o método é só chama-lo quando for necessário na sua aplicação da seguinte forma:


setFormatNumber("#########", 
  jFormattedTextFieldCodCliente, "0123456789");

Acima em utilizei o método com um exemplo onde o jFormattedTextFieldCodCliente só irá aceitar números e 9 caracteres.

Bem simples.

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.
ViamaisBLOG
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.