Résultats de 1 à 9 sur 9

Sujet : [swing][JTextField][int] verification

  1. #1
    Membre MP
    Inscrit
    août 2013
    Messages
    204
    comment on fait pour verifier que l\'utilisateur met bien un int ou un char ou String.....
    dans un JTextField.
    je veut jsute verifie que ce c** d\'utilisateur mette pas des lettres au lieu des chiffres ou inversement.

    merci
    "Use Soap"

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    1 823
    Super facile,

    pour ce qui est du String, tu as pas de question a te poser car dans un JTextField, c\'est forcement un String (par definition) pour le char, c\'est un String de 1 caractère (facile a voir).

    Par contre je pense que tu demande comment verifier que l\'utilisateur a bien introduit un nombre ...

    regarde ce code :

    Code:
    try{
             PL = Integer.valueOf(TextPL.getText());
         }catch(Exception e1){
             TextPL.setText(\"Saisir une valeur\");
             return;
         }
    Le JTextfield s\'appel \'TextPL\' si l\'utilisateur a saisie du texte a la place d\'un nombre, une exception sera levée lors de l\'appel a la fonction vaueOf() et un message sera affiché dans le JTextField pour le signaler.

    Pour ce qui est de l\'int il sufit de transformer ensuite L\'Integer en int une fois la verification effectuée.

    Est ce que cela repond a ton problème ? :wink:

  3. #3
    Membre MP
    Inscrit
    août 2013
    Messages
    204
    encore une fois Zeb repond vite fait bien fait.
    parfait exactement ce qu\'il me fallait.
    Zeb c\'est La boite a outils que tous bon programmeur Java doit avoir avec soi.
    :lol: :lol: :lol:
    "Use Soap"

  4. #4
    Visiteur MP
    Visiteur MP
    Moi je veux un zeb pour noël !!! pour en avoir toujours un à la maison...

    :wink:

  5. #5
    Membre MP
    Inscrit
    août 2013
    Messages
    1 823
    En fait \'boite a outils\' ne convient pas trop.

    Je suis un personage virtuel inventé par Admin branché sur le site de Sun par une Backdor. :

  6. #6
    Membre MP
    Inscrit
    août 2013
    Messages
    1 823
    re Gexti,

    ça se negocie cette histoire, mais va faloir me reserver de la bande passante. :wink:

  7. #7
    Visiteur MP
    Visiteur MP

    [swing][JTextField][int] verification

    Je t\'ai mis du 100 Mega, ça ira ??

    Oups je viens de shooter dans la prise...
    zeb a disparu, j\'ai des trucs à faire je rebrancherai demain. pourvu que la sauvegarde automatique des informations ait été enclenchée...

    :

  8. #8
    Visiteur MP
    Visiteur MP
    Salut,

    c\'est pile poil ce que je veux faire,verifier qu\'un utilisateur rentre bien un chiffre (c\'est pour un Mastermind).
    Mais chez moi ça marche pas je comprends pas...



    void jTField1_keyPressed(KeyEvent e)
    {
    char F1 = e.getKeyChar();

    try{

    int temp = Integer.valueOf(jTField1.getText());
    ------------------------------> =====
    }

    catch(Exception e1)
    {

    jTField1.setText(\"Saisir une valeur\");

    return;

    }}

    La partie \"====\", apparait en erreur \"types incompatibles;trouvé...\"

  9. #9
    Membre MP
    Inscrit
    août 2013
    Messages
    645
    Salut,

    moi j\'ai une solution que t\'offre directement l\'API java pour ça (nanananère zeb :P: ) mais en fait si tu veux juste vérifier que l\'utilisateur rentre un chiffre, c\'est plus rapide la méthode de cyber-zeb. En fait, dans ce que je vais donner ici, lorsque l\'utilisateur rentre autre chose que ce qui est désiré, ça ne s\'affiche pas dans le JTextField et de plus, ça fait en petit bruit en sélectionnant le texte en question (pour que ce c** d\'utilisateur comme tu dit ^^ (nan je rigole faut pas dire ça) s\'aperçoivent bien de son erreur). En fait, cette technique peut surtout être utilisé pour des JTextField plus sophistiqués, genre faut entrer une date ou quelquechose qui a un format précis.
    Bon, il faut d\'abord créer un JTextField :
    Code:
    JTextField notreTextFieldRienQuaNous = new JTextField(10);
    Ensuite, il faut créer une classe fille de InputVerifier (package javax.swing) qui définit si l\'entrée est valide ou non. Par exemple, pour n\'entrer que des nombres (entier) compris entre 0 et 100, ça sera :
    Code:
    class NumberVerifier extends InputVerifier
    {
       //il faut simplement redéfinir la méthode boolean verify():
       public boolean verify(JComponent comp)
       {
          JTextField champTexte = (JTextField)comp;
          boolean ok = false;
    
          try {
             int nombre = Integer.parseInt(champTexte.getText());
             ok = (nombre >= 0 && nombre <= 100);
          }
          catch(NumberFormatException nfe) { }
    
          if(!ok)
          {
             comp.getToolkit().beep(); //faire un zoli petit son
             champTexte.selectAll(); //on sélectionne le texte pour bien montré où est le problème
    
             /*dans ce bloque, on aurai tout aussi bien pu 
              mettre un message sur System.out ou
              JOptionPane, en tous cas il faut placer ici le code qui doit être éxecuté
              lorsque l\'entrée n\'est pas valide */
          }
    
          return ok;
       }
    }
    Voili voilou, ensuite il faut faire :
    Code:
    notreTextFieldRienQuaNous.setInputVerifier(new NumberVerifier());
    et dès que le focus quitte le champ et que le contenu n\'est pas correcte, le programme bipe et renvoi le focus grâce à selectAll() sur le champ, ce qui permet d\'être sur que le focus restera sur le champ tant que l\'utilisateur entrera des valeurs incorrecte.
    Voila voila

    @+++++
    Lorsque touts les arbres auront été coupés, Lorsque touts les animaux auront été chassés, Lorsque touts les poissons auront été pêchés;
    Alors l'homme découvrira que l'argent ne se mange pas.
    ------ |_o\/e _|a\/a---------

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé
Please disable Adblock!