Um método MaskFormatter para varios mask.install

Boa tarde pessoal, tenho uma duvida que não consegui achar nas minhas pesquisas.
Tenho um MaskFormatter para validar nomes, mas tenho varios campos de nome e não queria para cada campo criar um MaskFormatter, na parte de mask.install tenho lá 3 jFormattedTextField mas só funciona com esse Mask o ultimo, como poderia contornar isso ? Segue a parte do código.

public AppGestaoProjeto() {

    try {
        mask = new MaskFormatter("*************"); 
        mask.setValidCharacters("qwertyuiopasdfghjklzxcvbnm"
                + "QWERTYUIOPASDFGHJKLZXCVBNMé "); // Specifies the valid characters: a-z, A-Z and space.
        mask.setPlaceholderCharacter(' '); // If the input is less characters than the mask,

// masktelefone = new MaskFormatter("****************");
// masktelefone.setValidCharacters(“0123456789+”);
} catch (ParseException ex) {
Logger.getLogger(AppGestaoProjeto.class.getName()).log(Level.SEVERE, null, ex);
}

    initComponents();
    
    mask.install(jFormattedTextFieldNomeCliente);
    mask.install(jFormattedTextFieldNomeFuncionario);
    mask.install(jFormattedTextFieldFuncaoFuncionario);

// masktelefone.install(jFormattedTextFieldTelefoneCliente);
jMenuBar3.setVisible(false);

}

Bom dia @Ian_Aquino, cara eu acredito que so funcione no ultimo mask.install pois ele esta sobrescrevendo os anteriores. Exempo:

mask.install(jFormattedTextFieldNomeCliente); //esse era o atual
mask.install(jFormattedTextFieldNomeFuncionario); //esse sobrescreveu
mask.install(jFormattedTextFieldFuncaoFuncionario);//e esse sobrescreveu o anterior

Dai só funciona no ultimo. Acho que uma solução mais plausível para não ter que escreve todas essas linhas para todos os campos seria você criar um método que faça essa configuração de campo, passando os campos como parâmetro essa seria uma sugestão.

Abraços
Max

1 curtida

Obrigado mano, afinal acabei por fazer varias mascaras e varios mask.install.
:smile: