Amigos
Alguém tem um exemplo bem simples de como utiizar JFormattedTextField formatando datas, números com decimais, maíusculas e minúsculas, limite do tamanho do campo e etc…
Obrigado,
Hugo.
Amigos
Alguém tem um exemplo bem simples de como utiizar JFormattedTextField formatando datas, números com decimais, maíusculas e minúsculas, limite do tamanho do campo e etc…
Obrigado,
Hugo.
public class Tela extends JPanel {
JFormattedTextField txtData, txtTelefone, txtCelular;
MaskFormatter formatoData, formatoTelefone, formatoCelular;
public Tela(){
//formata o campo Data
try {
formatoData = new MaskFormatter("**/**/****");
}
catch (ParseException parseEx) {
JOptionPane.showMessageDialog(null, "Erro de formatação na Data de Nascimento.", "Erro",JOptionPane.ERROR_MESSAGE);
}
//formata o campo Telefone
try {
formatoTelefone = new MaskFormatter("(**)****-****");
}
catch (ParseException parseEx) {
JOptionPane.showMessageDialog(null, "Erro de formatação do Telefone.", "Erro",JOptionPane.ERROR_MESSAGE);
}
//formata o campo Celular
try {
formatoCelular = new MaskFormatter("(**)****-****");
}
catch (ParseException parseEx) {
JOptionPane.showMessageDialog(null, "Erro de formatação do Celular.", "Erro", JOptionPane.ERROR_MESSAGE);
}
//cria o campo data e instala.
txtData = new JFormattedTextField();
txtData.setColumns(8);
formatoData.install(txtData);
//cria o campo Telefone e instala.
txtTelefone = new JFormattedTextField();
txtTelefone.setColumns(8);
formatoTelefone.install(txtTelefone);
//cria o campo celular e instala.
txtCelular = new JFormattedTextField();
txtCelular.setColumns(8);
formatoCelular.install(txtCelular);
Após isso, é só vc variar os campos no formato que vc quer.
Cara eu faço assim,
Tem uma função só para formatar:
public static MaskFormatter formatarCampoData() {
// Declaraçao e Inicializaçao de Variáveis
MaskFormatter formato = new MaskFormatter();
try {
formato.setMask("##/##/####");
formato.setPlaceholderCharacter('_');
//formato.install(jFormattedTextField1);
}
catch (Exception ex) {
ex.printStackTrace();
}
return formato;
}
e na hora de criar o campo dentro do JFrame eu só faço chamar a função:
txtDataSaida = new JFormattedTextField(Funcoes.formatarCampoData());
txtDataSaida.setValue("");
txtDataSaida.setBounds(new Rectangle(308, 159, 80, 20));
Valeu !!!
Vai ajudar muito.
Hugo