jTextFiled

Galera é o seguinte…
Estou usando o código abaixo para pegar um numero no textfield.

int id1;
id1 = Integer.parseInt(jTextField2.getText());

O problema é que se for digitado algo que não seja um numero (uma letra por ex) a função abre uma exceção…
Como posso fazer para verificar se o que foi digitado é valido e evitar esse problema?

Valeu!!

pode fazer um teste assim:

if (jTextField.getText().matches("\d+"))

no caso só entra no if se for numero.

Por que você não trata a exceção?

int id1; try { id1 = Integer.parseInt(jTextField2.getText()); } catch (NumberFormatException e) { JOptionPane.showMessageDialog(this, "Por favor, informe um número!"); jTextField2.requestFocusInWindow(); return; }

Outra opção é usar um Document que só aceite números:
http://www.guj.com.br/posts/list/107425.java#579803

Ou usar um formatted text field:
http://download.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html

Valeu brother…
Resolvi o problema…

Usei o .matches
Mas achei tb muito interessante a possibilidade de tratar a exceção…

Ainda acho a melhor opção usar o IntegerDocument. Aí seu usuário nem sequer consegue digitar algo que não seja um número.

ViniGodoy vc é o cara!!!Agilizou exatamente o que eu estava precisando…
Primeiro por ter dado a dica do Document e segundo por ja ter escrito um código que mata o problema…

http://www.guj.com.br/posts/list/107425.java

Funcionou perfeitamente…Show…

Coloquei o link aqui novamente só para quem ainda possuir alguma dúvida ou interesse…
Valeu!