Como formatar um Jtextfield para receber apenas inteiros

[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. :slight_smile:

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:

[code]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);
    }
};

[/code]

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.