Empêcher la saisie ds chiffre :textfield java

Résolu
muntu -  
 muntu -
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

  1. muntu
     
    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
  2. af.zakaria Messages postés 59 Statut Membre 2
     
    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