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.