oops, j'avais pas vu qu'on pouvait taper des chiffres, dans le textfield!! :D
darklord22
java t'es trop fort ;)
je confirme c'est document listener qu'il faut utiliser, ca se fait très facilement.
Cherrytree
gfive a écrit a écrit :
Et en utilisant bêtement la méthode setEditable???? Ca fait pas ce que tu veux??
Ahh ! Bon dieu non, allons g(ive-me)five si tu fais
Code :
setEditable(false)
, tu peux plus rien taper ! Le but c'est pas de griser le textField, sinon comment tu déclenche un
Code :
setEditable(true)
?
Le mieux, c'est le
Code :
consume
pour la simplicité ou le
Code :
DocumentListener
pour la beauté.
gfive
Et en utilisant bêtement la méthode setEditable???? Ca fait pas ce que tu veux??
nicmic
Ok, ok, merci je regarde tout ça et je vous dit ce qui marche.
Merci beaucoup encore ;)
matafan
La validation à la frappe, ça se fait en implémentant un « DocumentListener » sur le Document du TextField. Il y a une doc là dessus, sur http://java.sun.com/docs/books/tut [...] field.html. C'est dans la section « Creating a Validated Text Field », ce qu'il appellent les « change-validated text fields » (par opposition aux « action-validated text fields », qui sont validés lorsqu'un événement est lancé, par exemple par [Enter]).
[jfdsdjhfuetppo]--Message édité par matafan--[/jfdsdjhfuetppo]
Krueger
Ou alors au lieu d'un espace un caractère spécial qui n'affiche rien?
benou
en jettant un coup d'oeil dans la javadoc j'ai vu la méthode consume.
test ca :
Citation :
public void keyTyped(KeyEvent k) {
if (! Character.isDigit(k.getKeyChar())) { k.consume()
} }
nicmic
Bonjour,
Tout est dans le titre...
PS : voilà ce que j'ai fait pour le moment.
public void keyTyped(KeyEvent k)
{ if (!Character.isDigit(k.getKeyChar()))
{
k.setKeyChar(' ');
}
}
Mais là, j'ajoute un espace dans mon TextField, j'aimerai jsute que rien ne se passe lrosque l'on tape une lettre.
Merci