IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Contrôler un JTextField


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2012
    Messages : 74
    Par défaut Contrôler un JTextField
    Bonjour


    j'ai un petit problème

    j'ai un panneau de swing, et dans un des JtextField on dois écrire un nom (dans JtextField) et j'ai un JButton ("ok")

    je dois contrôler que le nom que la personne a écrit est bien un nom avec que des caractères alphabetique. (donc interdit de mettre des ciffres, des "?", "(" etc..)

    donc dans la méthode d'actionlistener
    je commence avec (c'est un exemple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (e.getSource == buttonOk){
    ........
     
       JOptionPane.showMessageDialog(null,"erreur de caractère");

    comment faire ce contrôle? (avec un try et catch?)

    un grand merci.

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    pour contrôler le contenu d'un JTextField passe par un PlainDocument. Exemple ici :
    http://docs.oracle.com/javase/1.4.2/...TextField.html

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2012
    Messages : 74
    Par défaut
    Bonjour

    après quelques recherches sur ce forum/site et d'autres sites j'ai trouvé ceci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
      Pattern patt1 = Pattern.compile("^[a-zA-Z]+$");
                 Matcher m1 = patt1.matcher(nom);
                if (m1.find()){   
                     System.out.println("ok");
     
                 }
                 else {
                     System.out.println("fout");
                     JOptionPane.showMessageDialog(null, "faute");
                 }

    ça marche...ouf

    mais comment autoriser les ' é à et les espaces?
    est ce possible que quelqu'un corrige mon code ("^[a-zA-Z]+$")


    c'est la première fois que je travaille avec pattern.

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    il faut modifier ton expression régulière pour accepter les espaces et les caractères accentués :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^[a-zA-Z àâäéèêëîïôöûü]+$
    je n'ai pris en compte que les caractères accentués minuscules que l'on rencontre en français.

    Jette un oeil sur ces deux liens :
    http://cyberzoide.developpez.com/java/regex/
    http://prevert.upmf-grenoble.fr/Prog...egulieres.html

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2012
    Messages : 74
    Par défaut
    Magnifique


    encore une autre question..


    j'ai dans mon database, une colonne pour le nom et un autre pour le mot de passe.


    je dois dans un swing, (Jtextfield), contrôler si le mot de pass et le nom sont le même que dans le database.

    comment faire? (si c'est trop long a expliquer et si vous connaisez un lien avec l'explication)

    un des problème que j'ai, c'est que lorsque je utilise
    select * from client where nom = ? et motDePasse = ?
    => que lorsque le nom et le mot de passe ne sont pas le même que j'ai un résultat null (sur sql).

    Encore un grand merci pour votres aide.

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par Logic_613 Voir le message
    je dois dans un swing, (Jtextfield), contrôler si le mot de pass et le nom sont le même que dans le database.
    Swing est l'api qui contient les composants graphiques dont les JTextField

    Tu n'as qu'un seul JTextField ? ou deux ?


    Citation Envoyé par Logic_613 Voir le message
    un des problème que j'ai, c'est que lorsque je utilise
    select * from client where nom = ? et motDePasse = ?
    => que lorsque le nom et le mot de passe ne sont pas le même que j'ai un résultat null (sur sql).
    je n'ai pas très bien compris ta question

  7. #7
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Par défaut
    Citation Envoyé par Logic_613 Voir le message
    Bonjour

    après quelques recherches sur ce forum/site et d'autres sites j'ai trouvé ceci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
      Pattern patt1 = Pattern.compile("^[a-zA-Z]+$");
                 Matcher m1 = patt1.matcher(nom);
                if (m1.find()){   
                     System.out.println("ok");
     
                 }
                 else {
                     System.out.println("fout");
                     JOptionPane.showMessageDialog(null, "faute");
                 }

    ça marche...ouf

    mais comment autoriser les ' é à et les espaces?
    est ce possible que quelqu'un corrige mon code ("^[a-zA-Z]+$")


    c'est la première fois que je travaille avec pattern.
    ca ne marche ps pour moi, il dit que la methode matche ne s'aplique ps au jtextfiled

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juillet 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 3
    Par défaut
    moi j'ai aussi une préoccupation, j'ai créer une application avec deux formulaires alors je que lorsque je clique sur un bouton du premier formulaire que l'on puisse ouvrir mon deuxième formulaire et que l'on cache le premier.

    La deuxième préoccupation est que j'ai créer un menubar dans lequel j'ai créer un MenuItem, ensuit j'ai créer deux Textfield, alors je eut que lorsque j'écrit dans les deux textfields que l'on puisse activé le MenuItem. donc au chargement le MenuItem est a anabled(false). merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Contrôler les saisies des JTextField
    Par Relyss dans le forum Composants
    Réponses: 5
    Dernier message: 18/01/2010, 22h00
  2. [JtextField]Creer un masque pour Ip
    Par bibx dans le forum Composants
    Réponses: 8
    Dernier message: 11/01/2005, 17h31
  3. [JTextField][JDBC] Problème d'affichage
    Par deathwing dans le forum JDBC
    Réponses: 4
    Dernier message: 12/05/2004, 14h50
  4. Intercepter la tabulation sur un JTextField
    Par Fladnag dans le forum Composants
    Réponses: 2
    Dernier message: 29/03/2004, 11h05
  5. [JTextField] filtrer la saisie
    Par Merfolk dans le forum Composants
    Réponses: 7
    Dernier message: 04/03/2004, 19h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo