String texto = Telas.Menu.telefone.getText(); //pega tudo que estiver no campo
String aux = "";
for (int i = 0; i < texto.length(); i++) {
if (Character.isDigit(texto.charAt(i)) == true){
aux = aux+texto.charAt(i); //quando encontra um numero coloca na string aux
}
}
String aux2 = aux;
int telefone = Integer.parseInt(aux2); //converte para int a string aux2 que só tem numeros
System.out.println(telefone);
Erro em conversao de variavel String [RESOLVIDO]
8 Respostas
Se aux2 for vazio (por algum motivo) você também vai receber a NumberFormatException. Veja qual é o valor de aux2 (argh, que nome horrível)
paulomn, o erro provavelmente vai estar quando você chama Telas.Menu.telefone.getText().
Faça o mesmo teste que eu e veja o resultado.
ao invés de:
String texto = Telas.Menu.telefone.getText();
coloque:
String texto = "a21a54s85a4s54a84s";
e veja que ele traz os valores corretos.
mais o problema é que ele nao fika vazio, e como é formatted so fikam numeros no campo, e o nome é provisorio, so pra teste 
paulomn, o erro provavelmente vai estar quando você chamaTelas.Menu.telefone.getText().
Faça o mesmo teste que eu e veja o resultado.ao invés de:
String texto = Telas.Menu.telefone.getText();coloque:
String texto = "a21a54s85a4s54a84s";e veja que ele traz os valores corretos.
que estranho, sempre usei o getText() e ele sempre funcionou direito, :shock: nem com .toString() funcionou :?
troquei como voce falou e deu erro
[color=red]Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string: “[telefone removido]”[/color]
É porque o valor máximo que você pode armazenar em uma variável do tipo int é 2.147.483.647. Se você tentar fazer parse num número maior que esse, acontecerá o ParseException.
Por exemplo, se eu tentar rodar seu programa com o número ( 11 ) 9999-9999 dá certinho, com ( 48 ) 9999-9999, vai dar pau =/
Verifique se há mesmo a necessidade de armazenar este valor como um número. Se houver, armazene numa variável com maior capacidade, como double.
É porque o valor máximo que você pode armazenar em uma variável do tipo int é 2.147.483.647. Se você tentar fazer parse num número maior que esse, acontecerá o ParseException.Por exemplo, se eu tentar rodar seu programa com o número ([telefone removido], vai dar pau =/
Verifique se há mesmo a necessidade de armazenar este valor como um número. Se houver, armazene numa variável com maior capacidade, como double.
putz é verdade, eu nem percebi, pq como sao numeros de telefone com 10 digitos, e o codigo aki do ms é 67, eu estava colokando toda hora 67 e nem perebi que ia alem do que a cabe na variavel, :shock: vlw, vou fazer com variavel do tipo long.
Eheh… Ainda bem que você mora em um lugar com código de área maior que 21, senão não teria identificado o erro 
se for um sistema grande e o cara nao lembra disso, da muito problema depois haha 