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 :

[JFormattedTextField] getText() ne marche pas


Sujet :

Composants Java

  1. #1
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 153
    Points : 100
    Points
    100
    Par défaut [JFormattedTextField] getText() ne marche pas
    Salut,

    J'ai un JFormattedTextField() auquel g appliqué un mask comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    try{
               MaskFormatter mask1 = new MaskFormatter("#.#####");
               textRate = new JFormattedTextField(mask1);
               textRate.setColumns(5);
           }
           catch(ParseException e){
               e.printStackTrace();
           }
    Mais lorsque je veux récupérer la valeur de text feild, en mettant textRate.getText() il me donne le résultat . (un point) sans générer d'exception et il efface le nombre que j'ai écrit dans le champs par exple 1.5
    J'ai essayé alors la méthode getSelectedText() mais elle me renvoie null.

    Eske kelkun aurait une idée svp?
    Merci
    Rien ne sert de courir, il faut partir à point.

  2. #2
    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
    bonjour,
    essaye avec la méthode getValue() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    float value = ((Number) textRate.getValue()).floatValue();

  3. #3
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut
    D'après la JavaDoc, getValue() renvoie la dernière valeur valide qui n'est par conséquent pas forcément la valeur courrante. Si t'entres un texte faux (qui ne répond pas aux attentes du mask) alors ça ne renverra rien.
    Il faut apparament utiliser commitEdit() pour forcer la valeur courante à être celle retournée par getValue().
    http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JFormattedTextField.html

    Nas'

  4. #4
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Le problème vient de ton masque. Tu as mis cinq #, le formatteur attend donc 5 chiffres après la virgule, obligatoirement. Essaye avec 1.12345 et tu verras que cela marche. Essaye également d'utiliser getValue() au lieu de getText().
    Romain Guy
    Android - Mon livre - Mon blog

  5. #5
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 153
    Points : 100
    Points
    100
    Par défaut
    Tu as raison Gfx c t ça le pb mais ça marche tout de même avec getText(). g tappé 1.50000 au lieu de 1.5 mais le pb c que l'utilisateur ne va jamais pensé à tapper des zéro à la fin. Comment faire ?
    Rien ne sert de courir, il faut partir à point.

  6. #6
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Facile : formatter.setPlaceholderCharacter('0');
    Ca remplira les zéros par défaut. Sinon tu peux rajouter du code de validation qui complète par des zéros automatiquement.
    Romain Guy
    Android - Mon livre - Mon blog

  7. #7
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 153
    Points : 100
    Points
    100
    Par défaut
    Merci pour votre aide, g opté pour formatter.setPlaceholderCharacter('0').
    Rien ne sert de courir, il faut partir à point.

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

Discussions similaires

  1. Gettext: ne marche tout simplement pas
    Par band22 dans le forum Langage
    Réponses: 0
    Dernier message: 01/04/2012, 14h29
  2. "Clipboard.GetText()" ne marche pas dans un thread
    Par the-morpher dans le forum Windows Forms
    Réponses: 1
    Dernier message: 30/08/2011, 11h22
  3. getText sur JTextField ne marche pas
    Par tanguy.L dans le forum Composants
    Réponses: 4
    Dernier message: 24/05/2009, 11h30
  4. 'SHOW TABLES' marche pas sous postgresql !?
    Par fet dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 13/05/2004, 09h28
  5. Sysdate qui marche pas ??
    Par StouffR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/08/2002, 13h23

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