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ôle de champs


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Contrôle de champs
    Bonjour,

    Je travaille sous Eclipse et cherche à effectuer un contrôle de mes champs JTextField. J'ai essayé de voir avec une classe qui implémente "KeyListener" ou bien une autre qui implémente "DocumentListener", mais je n'ai pas encore réussi à trouver.

    Je voudrai en fait pouvoir interdire la saisie de lettres et caractères spéciaux autres que des chiffres pour un champ "Code postal", ou inversement que des lettres pour un champ "Nom".

    Harry Potter

  2. #2
    Invité
    Invité(e)
    Par défaut
    Regarde du côté des JFormattedTextField.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci, j'ai jeté un oeil, mais ça a l'air très technique et pas très clair comme explication. Je vais essayer de voir ça plus en profondeur. ^^

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Harry_Potter Voir le message
    mais ça a l'air très technique et pas très clair comme explication.
    C'est à ma connaissance la manière la plus propre de faire. Pour résumer, il te suffit de créer un pattern et de le passer au champ.

    Ce n'est pas plus techniuqe ou moins clair que de jouer avec un listener. Si vraiment tu veux jouer avec les listeners utilise plutôt un DocumentListener
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     new JTextField().getDocument().addDocumentListener(..)

  5. #5
    Invité
    Invité(e)
    Par défaut
    J'ai exécuté leur application, mais le problème c'est que ça ne fait pas tout à fait ce que je veux. Les caractères invalides ne sont enlevés que sur sortie du champ, et s'il y avait des caractères valides lors de cette modification, ils sont aussi enlevés avec les invalides. Bref, pas terrible.

    J'ai aussi essayé avec "DocumentListener" mais pas trop compris exactement ce que ça fait. Il faudrait voir dans la méthode "changedUpdate" je pense.

    Sinon, j'ai aussi essayé avec "keyListener", mais ça rentre dans la méthode "keyTyped" avant que le nouveau caractère ne soit saisi.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 33
    Par défaut
    Pour filtrer des caractères lors de l'insertion, tu peux utiliser ta propre implémentation de Document (partie "Model" de MVC) que tu associes à ton composant swing (dans ton cas un JTextField, partie "View" de MVC).

    Regarde du côté de http://java.sun.com/j2se/1.4.2/docs/...nDocument.html et redéfinit la méthode insertString en filtrant les caractères non désirés et en invocant la méthode de la classe mère avec la nouvelle string.

    Tu peux aussi associer un "filtre" à un modèle existant : http://java.sun.com/j2se/1.4.2/docs/...terBypass.html

    Rq : avec un listener, tu peux aussi y arriver, mais c'est plus compliqué car tu ne profites pas de l'architecture MVC proposée par swing...

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

Discussions similaires

  1. contrôles des champs saisis dans un formulaire
    Par barouz dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 06/12/2013, 13h55
  2. Probleme de contrôle de champs
    Par cutpeter56 dans le forum Langage
    Réponses: 3
    Dernier message: 08/06/2007, 17h03
  3. [Tableaux] contrôle de champs get sans effet
    Par ceostar dans le forum Langage
    Réponses: 11
    Dernier message: 02/03/2007, 11h27
  4. contrôle de champ vide
    Par allowen dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/03/2005, 14h16
  5. Problème de contrôle de champ input texte
    Par NATHW dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/10/2004, 22h48

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