Empêcher la saisie ds chiffre :textfield java

Résolu/Fermé
muntu - 6 févr. 2012 à 16:51
 muntu - 7 févr. 2012 à 07:10
Bonjour,

J'essaie de faire un programme un programme en java-mysql. Je dois rentrer des données dans le nom et prenom et j'aimerai empêcher la saisie des chiffres et n'autoriser que des lettres. Ju comment faire l'inverse c'est à dire autoriser que des chiffres.

Est ce que quelqu'un veut bien m'aider s'il vous plait ?

Je cherche aussi a être en contact avec un expert (enfin qui est doué ) en java, s'il peut me donner son e-mail pour des éventuelles questions concernant la gérance de la fidélité et autres. Je suis nouveau en java, j'ai un projet à faire c'est la galère !!!


Merci d'avance pour votre aide !!!









3 réponses

J'ai trouvé c'était tout simple :

ry{
MaskFormatter tel = new MaskFormatter("## ## ## ## ##");
//Ou encore
MaskFormatter tel2 = new MaskFormatter("##-##-##-##-##");
//Vous pouvez ensuite le passer à votre zone de texte
JFormattedTextField jtf = new JFormattedTextField(tel2);
}catch(ParseException e){e.printStackTrace();}


# indique un chiffre ;
' indique un caractère d'échappement ;
U indique une lettre (les minuscules sont changées en majuscules) ;
L indique une lettre (les majuscules sont changées en minuscules) ;
A indique un chiffre ou une lettre ;
? indique une lettre ;
* indique que tous les caractères sont acceptés ;
H indique que tous les caractères hexadécimaux sont acceptés (0->9, a->f ou A->F).

http://www.siteduzero.com/tutoriel-3-10550-les-champs-de-texte-l-objet-jtextfield.html
3
ça ne marche pas il me semble;
1
af.zakaria Messages postés 44 Date d'inscription lundi 24 octobre 2011 Statut Membre Dernière intervention 23 décembre 2015 2
6 févr. 2012 à 17:41
Bonjour,

tu dois implémenter un KeyListener, par exemple:

JTextField champTexte = new JTextField();
champTexte.addKeyListener(new keyListener());

keyListener est une classe qui implémente l'interface KeyListener, dans ton cas:

public class keyListener implements KeyListener
{
public void keyReleased(KeyEvent ke)
{
Pattern pattern = Pattern.compile("[^A-Za-z]");
Matcher matcher = pattern.matcher(champTexte.getText());

if(!matcher.matches())
champText.setText("");
}
}

Je pense que c'est ça la solution. Essayes ce code
0