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

Composants Java Discussion :

avoir que des chiffres sur jtextfield


Sujet :

Composants Java

  1. #1
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut avoir que des chiffres sur jtextfield
    salut

    Je voudrais savoir comment faire pour autoriser seulement la saisie de chiffre dans un TextField
    si user tape une lettre ne fonctionne pas par comtre un chiffre oui
    je veux si je tape une lettre rien ne passe par contre si je tape numéro qi'l soit affiché sur jtextfield

    merci de m'avoir aider

  2. #2
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    utilise le PainDocument du JtextField en surchargeant la méthode insertString
    [CODE]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JTexteField.setDocument(JTextLimited);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    public class JTextLimited extends PlainDocument {
     
    public JTextLimited(){
        super();
     
    }
    public void insertString
                (int offset, String str, AttributeSet attr) throws
                BadLocationException
        {
        try{
            Integer.parseInt(str);
            super.insertString(offset, str, attr);
            }
        }catch(Exception e){
            //..On ne fait rien
        }
    }
    }
    Plzzz pas de questions par MP.

  3. #3
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    Citation Envoyé par LeXo Voir le message
    utilise le PainDocument du JtextField en surchargeant la méthode insertString
    [CODE]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JTexteField.setDocument(JTextLimited);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    public class JTextLimited extends PlainDocument {
     
    public JTextLimited(){
        super();
     
    }
    public void insertString
                (int offset, String str, AttributeSet attr) throws
                BadLocationException
        {
        try{
            Integer.parseInt(str);
            super.insertString(offset, str, attr);
            }
        }catch(Exception e){
            //..On ne fait rien
        }
    }
    }


    merci mais désolé je n'ai pas bien comrpis

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Comme te l'a montré LeXoIl faut que tu associe à ton JTextfield un éditeur (en utilisant la méthode setDocument).
    LeXot'a mis un exemple de classe éditeur qui en utilise un déjà existant (plainDocument) et qui surcharge une méthode pour interdire la saisie de caractère autre que des nombres.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  5. #5
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    merci

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Ou un JFormattedTextField avec un NumberFormat.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  7. #7
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Citation Envoyé par bouye Voir le message
    Ou un JFormattedTextField avec un NumberFormat.
    Oui, ça semble une solution plus "pratique" ^^
    Surtout que tu as plein de tuto pour ça sur le site de Sun

    ++
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  8. #8
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    Citation Envoyé par bouye Voir le message
    Ou un JFormattedTextField avec un NumberFormat.
    Sauf que ça n'empêche pas de saisir des caractères autres que des chiffres. C'est seulement lorsque le champ perd le focus que le contrôle est effectué, et que la valeur affichée est "recalculée".

  9. #9
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Exact, d'ou l'interret du Document personnalise. Typiquement avec le JFormattedTextField, tu auras tendance a bloquer/desactiver les boutons permettant de valider le formulaire tant que la valeur saisie n'est pas correcte, alors qu'avec la premiere solution tu restreins ce qui peut etre saisi (marche aussi avec le copier/coller).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 110
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    Désolé de déterrer un vieux topic mais j'essaye de bloquer la saisie de caractères dans un jtextfield ainsi que le copier/coller et je suis retombé sur ce post par contre impossible pour moi de mettre en oeuvre ce qui est indiqué.
    Je crée dans netbeans une nouvelle classe jtextlimited avec copier/coller du message de LeXo puis dans le constructeur de ma classe principale (de ma jframe) voilà ce que je mets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            dlm = new DefaultListModel(); // on instancie un DefaultListModel pour la création de la JList
            initComponents();
            JTextLimited a = new JTextLimited();
            TexteTitre.setDocument(a);
            TexteTitre.requestFocus(); // on passe le focus au champs pour l'ajout d'un jeu
    où TexteTitre est un jtextfield.
    Une fois celà fait je peux toujours ajouter des lettres et des caractères spéciaux.
    Pouvez vous m'expliquer ce qui cloche s'il vous plait car j'avoue être dépassé là.
    merci d'avance

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 110
    Points : 62
    Points
    62
    Par défaut
    Bonjour, j'ai finalement résolu mon problème!!

    Il s'agissait vraiment d'une erreur très bête!!
    Au lieu d'importer ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import javax.swing.text.AttributeSet;
    j'importais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import javax.print.attribute.AttributeSet;
    donc ça ne fonctionnait jamais

    Désolé du dérangement!! Promis je le referais plus

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

Discussions similaires

  1. [Débutant] Comment mettre des etiquettes sur un graphique autres que des chiffres
    Par jean-luc-thebert dans le forum MATLAB
    Réponses: 2
    Dernier message: 01/10/2008, 20h22
  2. Que des chiffres dans un JTextField
    Par hammag dans le forum Composants
    Réponses: 4
    Dernier message: 15/05/2006, 17h44
  3. vérifier que ce sont que des chiffres ?
    Par netwebzone dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/12/2004, 11h32
  4. que des chiffres..
    Par roots_man dans le forum ASP
    Réponses: 2
    Dernier message: 18/11/2004, 15h31

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