Formatando JTextField usando Mask

OI gente, to começando a mexer com swing agora e tenho uma dúvida…pelo net beans eu crio um campo texto e automaticamente meu código recebe o bloco:

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {

}

só q este campo eu gostaria que fosse uma campo pré formatado de data, do tipo " / / "…isto é… que ja aparecesse pro usuário apenas completar… sei o q JformattedMask pode funcionar mas não sei como usar ele com o que eu tenho acima…

em relação ao tratamento da data já estou tratando em baixo nível então não tem problema se vir errado…

Poderiam me ajudar?

cara… eu utilizo o componente DatePicker pra usar como data… se não me engano esse componente é de alguma das APIs do JasperSoft
mas você pode formatar o campo sem problemas… basta usar o JFormattedTextField e na hora da criação dele passar um MaskFormatter com a máscara desejada…

Segue um exemplo

MaskFormatter maskData = new MaskFormatter("##/##/####");
maskData.install(seuJFormattedTextField);
1 curtida

Po gente… deesculpa a ignorancia… mas da onde vem o seuJFormattedTextField??

em:
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {

}

Seguinte, esse “seuJFormattedTextField” é o componente que vc tem no JFrame (sua tela), voce nao tem que colocar aquele codigo em nenhum evento do componente, é so colca-lo no construtor da classe de sua tela.

Desculpa novamente a ignorancia…mas minha entrada de classe e construtor é:

public class Frame_Parametros extends javax.swing.JFrame {

/** Creates new form Frame_Parametros */

public Frame_Parametros() {

    initComponents();
    
}

.
.
.
.
.

Como ficaria??

valeu a ajuda e paciência!

Primeiramente vc deve colocar no form um compoenete JFormattedTextField, agora vamos supor que vc alterou o nome para jDataCadastro.

/** Creates new form Frame_Parametros */

public Frame_Parametros() {
   initComponents();
   MaskFormatter maskData = new MaskFormatter("##/##/####");  
   maskData.install(jDataCadastro); 
} 

Deu certo gente, mas quando eu coloko mais jformattedtextfield ele só faz o primeiro… saberiam me dizer por que?

Eu inicializo todos mas não está dando certo!

É so vc replicar a linha maskData.install

public Frame_Parametros() {  
    initComponents();  
    MaskFormatter maskData = new MaskFormatter("##/##/####");    
    maskData.install(jDataCadastro);   
    maskData.install(jDataNascimento);

    MaskFormatter maskCep = new MaskFormatter("#####-###"); 
    maskCep.install(jCepResidencial);
    maskCep.install(jCepComercial);
}   

Então… eu crio campos de feriados nacionais… 15 feriados…
aí eu inicializo todos da seguinte maneira…

maskData.install(jFormattedTextField4);
maskData.install(jFormattedTextField5);
maskData.install(jFormattedTextField6);
maskData.install(jFormattedTextField7);
maskData.install(jFormattedTextField8);
maskData.install(jFormattedTextField9);
maskData.install(jFormattedTextField10);
maskData.install(jFormattedTextField11);
maskData.install(jFormattedTextField12);
maskData.install(jFormattedTextField13);
maskData.install(jFormattedTextField13);
maskData.install(jFormattedTextField14);
maskData.install(jFormattedTextField15);
maskData.install(jFormattedTextField16);
maskData.install(jFormattedTextField17);

ele formata os campos… mas ele ferra na hora q eu escrevo… isto é no formato dd/mm/aaaa

ele vai “empurrando” a barra para frente…

se eu uso apenas um textfield funciona normal…