Criar máscaras em JFormattedTextField

Boa noite pessoal,

Minha dúvida é a seguinte, tenho no meu BD um campo na minha Tabela Cliente, que é única para Físico e Jurídico, para CPF/CNPJ, RG e Telefone. E gostaria que na interface gráfica nos campos de textos tivesse uma máscara para que o usuário se preocupasse em passar somente os dígitos (sem se preocupar com pontos “.” ou traços “-”) e ao adcionar no BD essa máscara saisse e só voltasse quando eu fosse gerar um arquivo.

Eu estou utlizando o NetBeans.

Desde já agradeço a todos.
[]'s

P.S.: O fato de utlizar o mesmo campo para guadar o CPF e o CNPJ pode provocar alguma dor de cabeça?

Só uma dica, crie campos separados, pois da forma que pretende terá que esquentar um pouco a cabeça para implementar, porque terá que mudar o formato da máscara para cada tipo de cliente no mesmo JFormattedTextField, coisa que não é tão trivial, caso contrário algum amigo passe um classe pronta.

Ok JMARQ vou fazer isso…

Pessoal quem tiver algum código que exemplifique a criação de uma máscara por favor postem.

Desde já agradeço!

Opa boa noite,

Tente isso aki:

JFormattedTextField tfCPF = new JFormattedTextField();
try {
	tfCPF.setFormatterFactory(new DefaultFormatterFactory(
		new MaskFormatter("###.###.###-##")));
} catch (ParseException e) {
	e.printStackTrace();
}

É só variar esse MaskFormatter para o seu padrão de máscara.

Até mais! :smiley:

1 curtida

Olá, Para isso você usa algum botão tipo (Botão de Opção) e grupo de Botões , ou algo assim do netbeans?

Sim, estou usando uma JComboBox para fazer a seleção.

Tente usar dois botões de marcar opção ou um ou outro e usa essa forma

https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcS1htXxbUj5-4fN98JFF8GlWL4Ezey8rBOMroRSUKFMtOPu_7lgBg
:smiley:

    private void rb_fisicaActionPerformed(java.awt.event.ActionEvent evt) {                                          
     tipoPessoa="FISICA";
     verificaselecionado();

    }                                         

    private void rb_juridicaActionPerformed(java.awt.event.ActionEvent evt) {                                            
     tipoPessoa="JURIDICA";
     verificaselecionado(); 
  
    }  

/////////////////////////////////////////////////////////////////////////////////////////////////////////////


public void verificaselecionado(){
          MaskFormatter formatter = null; 
          MaskFormatter formatte = null;     
          
           try {    
            tf_cpfCnpj.setValue(null);
            tf_rgIe.setValue(null);
  
            if(rb_fisica.isSelected()){                   
                formatter = new MaskFormatter("###.###.###-##");
                formatte = new MaskFormatter("########/##");
                formatter.setPlaceholderCharacter(' ');     
                tf_cpfCnpj.setFormatterFactory(new DefaultFormatterFactory(formatter));
                tf_rgIe.setFormatterFactory(new DefaultFormatterFactory(formatte));
                tf_nome.requestFocus();                                
                }
            else{                 
                formatter = new MaskFormatter("##.###.###/####-##"); 
                formatte = new MaskFormatter("###/####.###");
                formatter.setPlaceholderCharacter(' ');    
                tf_cpfCnpj.setFormatterFactory(new DefaultFormatterFactory(formatter));
                tf_rgIe.setFormatterFactory(new DefaultFormatterFactory(formatte));
                tf_cpfCnpj.requestFocus();                
                }             
                } 
           catch (ParseException ex) {                          
                }  

Veja nesse link um video de como adicionar um radio button

Se quiser ir além e usar validadores para CPF e CNPJ, sugiro conhecer o Stella da Caelum http://stella.caelum.com.br/