Erro ao tentar capturar e converter valores do jformattedtextfield

Pessoal, estou tentando capturar os numeros do jformattedtextfield e alem de pegar, tirar a formatação, deixar so os numeros e passar para inteiro para poder inserir no BD

mas da esse erro:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "(11)8765-4367"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:481)
	at java.lang.Integer.parseInt(Integer.java:527)

a captura esta nessa sintaxe


String stel2 = tfFieldTel_2.getText();
      tel2 = Integer.parseInt(stel2.replaceAll("\\.", ""));

alguem pode me ajudar?

obrigado!

Faz o teste, antes de converter manda escrever a string antes de setar, por exemplo

JOptionPain.showMessageDialog(null,ste12);

talvez não está substituindo todos os caracteres.

Esse código está funcional? Eu, quando eu salvo, eu salvo como String mesmo, então mando todos os caracteres, até porque fica até mais facil depois para ser inserido novamente…

Da um print e veja o que a variavel tel2 irá mostrar. Aparentemente não está sendo trocado nenhum caracter…

Abraços

Deu sim wagner, aparece o campo na tela, obrigado pela dica

o erro esta na hora da conversão mesmo eu to achando que é o replaceAll()

alguem sabe outra forma de tira a formatação que é capturada?

Como é somente três caracteres diferentes você pode usar o replaceAll da forma que está embaixo, caso for esse o número (11)8765-4367, ficaria assim por exemplo:

    String stel2 = tfFieldTel_2.getText().replaceAll("[(|)|-]","");  
          int  num = Integer.parseInt(stel2);  

O número de telefone não é um número. Não é se soma, multiplica ou faz médias com ele. É apenas uma String que não permite letras, não deve ser gravado na BD como numeric.

Neste caso você não precisa do Integer.parseInt, pois este é para converter para inteiros. Só a linha de cima já basta

String stel2 = tfFieldTel_2.getText().replaceAll("[(|)|-]","");  

Sua string stel2 já não vai ter os caracteres indesejados só com esse código…
manda escrever pra ver o resultado.

JOptionPain.showMessageDialog(null,stel2);

gente, o pior é que da o mesmo erro, so que agora quando acusa o erro o numero esta sem formatação
hahaha

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "2222222222"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:495)
	at java.lang.Integer.parseInt(Integer.java:527)

alguem sabe pq não esta convertendo?

[quote=Edgard.Pavanelli]

gente, o pior é que da o mesmo erro, so que agora quando acusa o erro o numero esta sem formatação
hahaha

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "2222222222"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:495)
	at java.lang.Integer.parseInt(Integer.java:527)

alguem sabe pq não esta convertendo?[/quote]

Esse erro deve estar ocorrendo porque você está tentando fazer uma string receber um inteiro, já que o método Integer.ParseInt converte pra inteiro. Você quer inserir o que no banco, uma String ou um inteiro? Se for sua string stel2 basta o código que passei

String stel2 = tfFieldTel_2.getText().replaceAll("[(|)|-]","");   

Se for um inteiro você tem que jogar os dados uma variável do tipo inteiro

String stel2 = tfFieldTel_2.getText().replaceAll("[(|)|-]",""); int inteiro = Integer.parseInt(stel2);

então pessoal estou com mais problemas do que imaginava!

agora o meu problema e o replaceAll, qual é a logica??
quando tentei capturar, ele não pegou alguns numeros.

mas agora eu desisti tb do replaceAll
vou passar tudo para campo de texto normal

onde esta //apenas string, é pq eu tentei converter para inteiro e não deixaram
vcs sabem o pq?

olhem o codigo:

  
     //apenas como String
     String stel2 = tFieldTel_2.getText();   
        JOptionPane.showMessageDialog(null,stel2);
      
      String scel = tFieldCel.getText();
     cel = Integer.parseInt(scel);
      JOptionPane.showMessageDialog(null,cel);
     
     String stel1 = tFieldTel_1.getText();
     tel1 = Integer.parseInt(stel1);
     JOptionPane.showMessageDialog(null,tel1);
     

      //apenas como String
     String Snasc = tFieldNasc.getText(); 
       JOptionPane.showMessageDialog(null,Snasc);
       
     String scpf = tFieldCPF.getText();
       JOptionPane.showMessageDialog(null,scpf);
    cpf = Integer.parseInt(scpf);

    
    //apenas com String
    String srg = tFieldRG.getText();
     JOptionPane.showMessageDialog(null,srg);
    
    
    String Scep = tFieldCEP.getText();
     JOptionPane.showMessageDialog(null,Scep);
    cep = Integer.parseInt(Scep);

Quais os tipos dessas variáveis cfp, cel e cep?

OI pessoal, desculpa se fui meio confuso na explicação do problema é que iamos apresentar nosso tcc naquele dia e eu e meu grupo estavamos meio desesperados!

bom agora as coisas estão mais tranquilias, é o seguinte

tenho um uma tabela CLIENTE que tem os seguintes campos, entre outros:
-Tel_1

-Tel_2

-Cel

-CEP

-RG

-CPF

-Data

desses, apenas o data agente colocou como CHAR então não estamos tendo problemas, pois quando vai para banco, ele guarda os simbolos (,) junto com os numeros.

agora os outros acima, nos declaramos no mySQL como INTEGER! e alem disso o campo CEP é FOREIGN KEY da tabela ENDERECO.
ok.

agora o problema e o seguinte, gostaria de colocar a mascara nos campos, por isso uso o JFORMATTEDTEXTFIELD!
só que na hora de passar para INT, não da para deixar os simbolos (.,-,, etc) então precisava retirar de alguma forma.

procurei aqui no GUJ e encontrei o REPLACEALL, só que na hora de passar os parametros entre parenteses, eu não ssabia como funcionava a logica!
não sei se em todas as variaveis o REPLACE tava tirando os simobolos corretamente, e acabava dando erro na hora de converter!

então gostaria de saber como se USA o replaceAll, como funciona a parte dos paranteses para poder aplicar em cada campo!
acho que retirando os simbolos não havera problema na hora da conversão!

alguem pode ensinar??

obrigado e desculpem a confusão!