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.