Bom Dia,
Estava tentando validar um campo JTextField para receber apenas numeros…
Procurei e axei esse addKeyListener, mais eu copiei o cod. q achei coloquei e deu certo mas não intendi oq esta acontecendo, estou lendo esta documentação mas mesmo assim esta vicando meio vago as explicações intão se alguém puder me explicar certinho oq é cada uma dessas linhas agradesso…
[code]desc.addKeyListener(new KeyListener(){
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if(!Character.isDigit(c)){
e.consume();
}
}
public void keyPressed(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
}
});[/code]
ATT.
WILIAM WITTER
[code] desc.addKeyListener(new KeyListener(){
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar(); // pega o caractere da tecla pressionada
if(!Character.isDigit(c)){ //se esse caractere não for um digito
e.consume(); // digamos que "elimina" o caractere. Sendo assim, ele não chega ao JTextField.
}
}
/// os métodos abaixo existem apenas por obrigação. Não estão fazendo nada.
public void keyPressed(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
}
}); [/code]
[quote=marcio_gs][code] desc.addKeyListener(new KeyListener(){
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar(); // pega o caractere da tecla pressionada
if(!Character.isDigit(c)){ //se esse caractere não for um digito
e.consume(); // digamos que "elimina" o caractere. Sendo assim, ele não chega ao JTextField.
}
}
/// os métodos abaixo existem apenas por obrigação. Não estão fazendo nada.
public void keyPressed(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
}
}); [/code][/quote]
Muito obrigado… eu intendi e si eu quisese validar para não receber numeros e só strings como eu faria???
[quote=Wiliam Witter]
Muito obrigado… eu intendi e si eu quisese validar para não receber numeros e só strings como eu faria???[/quote]
Strings seriam Letras no caso? Ai basta colocar:
if(!Character.isLetter(c)) {
e.consume();
}