Olá a todos. Este é meu primeiro post e estou ainda lendo literaturas sobre Java. Estou vindo do Delphi, por isso talvez alguns textos ainda importo do Delphi. Vamos a pergunta:
Como faço para validar um Edit(Caixa de Texto) para receber somente Números?
Aproveitando o post, onde consigo funções já prontas para validar:
CNPJ, CPF, PIS, Cartão de Crédito e SUFRAMA?
Seja bem vindo ao Portal Java!
Sobre os métodos de validação de CPF, etc. Utilize o Stella, o cinto de utilidades do desenvolvedor:
Num entendi a pergunta não,validar um edit para receber só numeros??
Coloca a pergunta num contexto pra eu tentar te ajudar.
dinhost, isso mesmo, é para quando eu criar esse edit ele aceite somente numeros. Em delphi eu vou no evento OnKeyPress do componente e faço:
Isso quer dizer que se o usuário digitar qualquer coisa que não seja número, não acontece nada, ou seja, o Edit só aceita caracteres numericos.
Uma forma que eu fazia isso, que é bem rápida mas acredito eu ser deselegante, é fazer o seguinte:
try{
Integer.parseInt(text.getText());
}catch(NumberFormatException e) {
//Foi digitado algo que não é número
//Mostrar mensagem de alerta.
}
Fica aqui como uma sugestão 
Abraços,
Uma pergunta ao rodolfo ou a qualquer outro que puder me responder: Existe algum evento próprio para eu digitar o código acima? Em delphi eu digito no OnKeyPress do componente Edit. Ainda preciso fazer muitas comparações com o Delphi, pois é a linguagem que conheço melhor até eu me acostumar e aprender bem o Java que é meu objetivo. Onde eu escrevo esse código?
Você deve adicionar um KeyListener ao componente JTextField.
Um objeto KeyListener possui vários métodos que são descritos nesta interface, como por exemplo o keyReleased.
Se você colocar o código do Rodolfo dentro deste KeyListener ele vai funcionar. Como você é novato e talvez não esteja entendendo muito bem vou colar um código aqui.
Lembre-se de fazer os devidos imports…
Sua classe Listener ficaria assim, estou usando o evento keyReleased porque ele pega o valor do campo após digitado. Se eu utilizasse o evento keyPressed ele não pegaria o último caracter digitado
public class MyListener implements KeyListener {
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
Object source = e.getSource(); // pega o objeto que disparou a acao
if (source instanceof JTextField) {
JTextField txt = (JTextField) source;
try {
//testa se existem apenas numeros
Integer.parseInt(txt.getText());
} catch (NumberFormatException ex) {
//Pega a String que esta no textfield
String text = txt.getText();
//retira o utimo caracter da string, que por sua vez nao e um numero
String newText = text.substring(0,text.length()-1);
txt.setText( newText );
}
}
}
}
Depois basta adicionar a seguinte linha de código na classe onde se encontra seu JTextField
jTextField.addKeyListener(new MyListener());
Essa é uma das soluções possíveis… Talvez não seja a ideal mas vai funcionar 
Abs
[quote=BrunoBastos]Você deve adicionar um KeyListener ao componente JTextField.
Um objeto KeyListener possui vários métodos que são descritos nesta interface, como por exemplo o keyReleased.
Se você colocar o código do Rodolfo dentro deste KeyListener ele vai funcionar. Como você é novato e talvez não esteja entendendo muito bem vou colar um código aqui.
Lembre-se de fazer os devidos imports…
Sua classe Listener ficaria assim, estou usando o evento keyReleased porque ele pega o valor do campo após digitado. Se eu utilizasse o evento keyPressed ele não pegaria o último caracter digitado
public class MyListener implements KeyListener {
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
Object source = e.getSource(); // pega o objeto que disparou a acao
if (source instanceof JTextField) {
JTextField txt = (JTextField) source;
try {
//testa se existem apenas numeros
Integer.parseInt(txt.getText());
} catch (NumberFormatException ex) {
//Pega a String que esta no textfield
String text = txt.getText();
//retira o utimo caracter da string, que por sua vez nao e um numero
String newText = text.substring(0,text.length()-1);
txt.setText( newText );
}
}
}
}
Depois basta adicionar a seguinte linha de código na classe onde se encontra seu JTextField
jTextField.addKeyListener(new MyListener());
Essa é uma das soluções possíveis… Talvez não seja a ideal mas vai funcionar 
Abs
[/quote]
Resolve sim.
O ideal seria muito complicado,
pra ele que ta começando.
Poucos dias nesse Forum e já estou gostando. As resposta são rápidas e funcionais. Existe algum bom livro sobre java que nos avance bem? Eu estou aprendendo no Livro do Oziel Moreira da Digerati Books. Já estou no final do livro e rafazendo os exercícios que eu deixei para trás por não saber resolver. Aí preciso ir para um intermediário para depois pegar as chamadas “Bíblias”, pois ainda preciso de mais fundamentos na linguagem. Fico no aguardo.
Vou reescrever um pequeno software que eu fiz em Delhpi para Java. É um sistema de controle de distribuidores, mas não é um sistema para distribuidores não. As fábricas têm seus distribuidores e elas mantem um controle sobre cada distribuidor em cada reigião, com algumas informações básicas, como endereço, total de itens comprados, valor da nota, qde de itens comprados e remessa de pedidos para a fábrica. É só isso. Em delphi eu fiz em 5 dias, talvez em java uns 5 anos,eheheheheheh!!! É só para começar no mundo real.
[red]Que nada pra quem ja tem conhecimento na área
o maximo que pode levar é uns 3 meses talvez 6 pra quem num tem OO afindado e só.