Champs de texte et contraintes

Résolu
cerco2 Messages postés 34 Date d'inscription lundi 6 août 2007 Statut Membre Dernière intervention 27 février 2008 - 6 août 2007 à 05:08
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 6 août 2007 à 14:08
bonjour,

c'est mon premier post dans ce forum, j'espere de tout coeur y trouver la reponse à mon problème.
quelqu'un sait comment peut on faire pour qu'un champs de texte ne
contienne que des lettres alphabétiques? Autrement dit si cette zone de
texte détient le curseur, seul le pavé alphabétique soit actif.
j'ai voulu utiliser le format MaskFormatter, mais avec ce dernier
d'après ce que j'ai compris il faut imposer le nombre de caracteres à
saisir, or on ne peut imaginer la taille de tous les noms qui existent.

j'ai jeté un coup d'oeil sur le DocumentListener, mais franchement
j'ai pas compris grand chose, peut etre un code en exemple pourai
m'aider pour y comprendre.

merci d'avance pour toute contribution !

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
6 août 2007 à 14:08
Tu cliques sur mon avatar, puis tu cliques sur le liens vers mes sources, et là tu tombe sur la liste de mes sources :
http://www.javafr.com/listeauteur2.aspx?ID=13557

Celles qui t'interesseront seront :
DKSTypeControl et Filtre pour champs de saisie.
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
6 août 2007 à 06:58
voir mes sources à ce sujet : j'ai fait plusieurs filtres, pas celui interdisant les chiffres, mais en prenant exemple sur le filtre pour les chiffres, tu devrais facilement arriver à faire ce que tu cherche.
0
mdrcedrick Messages postés 54 Date d'inscription dimanche 12 septembre 2004 Statut Membre Dernière intervention 22 novembre 2007
6 août 2007 à 11:09
peut etre peux-tu aussi faire quelque chose dans ce genre ?

Pattern    motifLettres  =  Pattern.compile ("^[a-z;A-Z]+$");

if (!this.monChampTexte.getText().equals (""))

{

    if (! motifLettres.matcher (this.monChampTexte.getText ()).matches ())

        System.out.println("il ne doit y avoir que des lettres");

}


et détecte à chaque changement de contenu dans ton champ texte avec un ChangeListener

je ne sais pas si c'est la meilleure des solutions mais ca se tente





don't cross the crocked step
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
6 août 2007 à 13:22
Ben voilà, en combinant ton regex avec ma source de filtre, tu peux obtenir une JTextField filtrant les caractères uniquement de façon optimisée. (le ChangeListener n'étant pas la meilleure méthode pour faire un filtre !)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cerco2 Messages postés 34 Date d'inscription lundi 6 août 2007 Statut Membre Dernière intervention 27 février 2008
6 août 2007 à 13:29
merci pour vos reponses. mais dis moi où se trouve ta source dont tu parles ?
0
Rejoignez-nous