Duvida simples sobre JFormattedTextField

10 respostas
T

Bom dia pessoal,

tenho uma duvida relativamente simples que até então não conseguir resolver. Tenho um JFormattedTextField com uma mascara de CNPJ ##.###.###/####-##. Quando eu instacio uma variavel do tipo String pegando o Text deste JFormattedTextField, o resultado é os números do CNPJ + Caracteres da Mascara. Gostaria de pegar somente os números sem os caracteres da mascara para passar como parametro para uma classe de validação de cnpj, porém não sei como. Se algum amigo puder me ajudar, ficarei muito grato.

Desde já muito Obrigado!

10 Respostas

thiagocg

use o metodo getValue e da um cast de String

T

Obrigado pela ajuda Thiago,

porém ainda não entendi direito, você poderia ser um pouco mais claro?

na criação de código personalizado do JFormattedTextField, tenho a mascara:

//JFormattedTextField recebe a mascara
MaskFormatter MASK_CNPJ = null; 
JFTFcnpj = new javax.swing.JFormattedTextField(MASK_CNPJ);

Já na ação do botao gravar tenho o seguinte codigo

//String recebe o valor do JFormattedTextField
String cnpj = JFTFcnpj.getText();

onde usar este getValue e onde usar esse Cast(que pra falar a verdade eu nem sei o que é)

Muito Obrigado Amigo!

thiagocg

Na ação do botão gravar em vez de usar:

vc usa:

T

Infelizmente o JFTFcnpj. não me da a opção getValue();

T

obrigado pela força thiago,

consegui resolver meu problema utilizando uma maneira que acredito não ser a mais indicada.

Vou postar o código aki para talves poder ajudar alguem futuramente.

String cnpj1 = null,cnpj2 = null,cnpj3 = null,cnpj4 = null, cnpj5 = null;
           try{
                cnpj1 = JTFcnpj.getText(0,2);
                cnpj2 = JTFcnpj.getText(3,3);
                cnpj3 = JTFcnpj.getText(7,3);
                cnpj4 = JTFcnpj.getText(11,4);
                cnpj5 = JTFcnpj.getText(16,2);
           } catch(Exception ex){
               JOptionPane.showMessageDialog(null, ex, "Cuidado!",JOptionPane.ERROR_MESSAGE);
           }
String cnpjNaoFormatado = cnpj1+cnpj2+cnpj3+cnpj4+cnpj5;

Muito obrigado!!!

fabim
JTFcnpj.getText().replaceAll("\\.", "").replaceAll("-", "");

Testa ai. Nao tenho certeza se funciona.

T

Boa Fabim, funcionou perfeitamente

tive que fazer algumas pequenas alterações para que o resultado saísse corretamente.

ficou assim:

String cnpjNaoFormatado = JTFcnpj.getText().replaceAll("\\.","").replaceAll("/", "").replaceAll("-","");

Mais uma solução para o meu problema!!!

Obrigado pela ajuda gente!

thiagocg

Estranho vc não esta usando o JFormattedTextField padrão do swing???
Pq eu uso em todos os meus projetos e uso o metodo getValue normalmente!!!

da uma olhada de novo ai no seu JFormattedTextField!

Abraço!

T

Estou usando o padrão Swing sim, apesar de nunca ter usar esse getValue em JFormattedTextField, também achei estranho não aparecer essa opção!

Obrigado pela força meu camarada!

Abraços!!!

thiagocg

qual versão do java vc ta usando?

Criado 14 de outubro de 2008
Ultima resposta 15 de out. de 2008
Respostas 10
Participantes 3