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