[b]Ola galera sou iniciante em java e gostaria de uma dica
como posso formatar um Jtextfield para receber do usuario apenas numeros inteiros??
obrigado. 
Como formatar um Jtextfield para receber apenas inteiros
5 Respostas
bom tem varias maneiras de se fazer isso
Se vc ta usando netBeans vc pode usar o JFormatedField e configurar ele
pra receber apenas numeros, vc pode criar mascaras na mão o que resultaria no JFormatedField do netBeans,
vc também pode ir verificando se o que o usuario digitou é um numero usando a função isDigit um exemplo abaixo:
if ( !Character.isDigit( JTextField.getText().charAt( 0 ) ) ){
//faz o tratamento
}
Também é possível definir no Document do textField:
JTextField field = new JTextField();
field.setDocument(
new PlainDocument()
{
public void insertString(int offset, String str, AttributeSet a)
{
... // verifica se a String é ou não válida
super.insertString(offset, str, a);
}
};
Para maiores informações sobre a classe Document: http://java.sun.com/javase/6/docs/api/javax/swing/text/Document.html
Também é possível adicionar um ouvinte de evento ao campo, mas não sei bem como fazer isso pois nunca utilizei dessa maneira... :roll:
Tenta isto aqui no evento FocusLost ou KeyReleasead:
Integer valor;
try{
valor = Integer.parseInt(jTextField.getText());
}catch(NumberFormatException ex){
JoptionPane.showMessage(null, "Só é permitido números inteiros!","Aviso");
}
T+ 8)
No Event do keyPressed se não for número de um “e.consume()”
Eu tenho um componente que fiz uma vez, vou colocar aqui. Ele aceita numeros inteiros e valores double.