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

AWT/Swing Java Discussion :

[Swing] JFormattedTextField : besoin d'eclaircisement


Sujet :

AWT/Swing Java

  1. #1
    Invité
    Invité(e)
    Par défaut [Swing] JFormattedTextField : besoin d'eclaircisement
    Bonjour,

    J'ai un JtextField dans lequel dois se trouver une date au format "jj/mm/YYYY".
    J'ai donc remplacer le JTextField par un JFormattedTextField.
    Mais quel que soit ce que je rentre dans le champ, tout est effacé à la perte du focus sur celui-ci.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DateFormat format = DateFormat.getDateInstance(DateFormat.DATE_FIELD,Locale.FRENCH);
    fld = new JFormattedTextField(format);
    j'ai essayé plusieurs constantes :
    DateFormat.LONG
    .FULL
    .MEDIUM

    Avec et sans Locale mais le résultat est toujours le même, tout s'efface. Même '01-05-2006' est effacer.

    Ou est mon erreur ?

    Merci

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Si tu ajoutes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((DefaultFormatter)fld.getFormatter()).setAllowsInvalid(false);

    Ca va formatter en temps réel, pas à la perte de focus. Essaie de mettre ca, et de voir ce qu'il te permet d'écrire

  3. #3
    Invité
    Invité(e)
    Par défaut
    Je ne sais rien écrire...

  4. #4
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    T'arrives rien à écrire dedans avec ca ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    oui j'ai beau y entrer des lettres ou des chiffres le pointeur ne bouge pas..

  6. #6
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Je viens de tester la même chose chez moi, ca marche pas non plus, pas moyen d'écrire dedans, pas le moindre caractère ne rentre...

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bizarre quand même ..
    Pourtant avec in NumberFormat ça fonctionne..

  8. #8
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Ouais ca marche même super bien, j'en emploie plusieurs dans mes programmes et j'ai jamais eu de problèmes, mais y a certainement une petite variante avec cette classe

  9. #9
    Invité
    Invité(e)
    Par défaut
    Oui mais laquelle ...
    Et dans les docs que je trouve c'est toujours l'exemple du NumberFormat

    Dans la doc il y à ceci :
    • SHORT is completely numeric, such as 12.13.52 or 3:30pm
    • MEDIUM is longer, such as Jan 12, 1952
    • LONG is longer, such as January 12, 1952 or 3:30:32pm
    • FULL is pretty completely specified, such as Tuesday, April 12, 1952 AD or 3:30:42pm PST.
    Mais j'ai mis le DateFormat.MEDIUM et lorsque j'essaye d'entrer 'Jan 12, 1952' il ne veux pas (efface tout)..

    --------------------------------------------------------------------

    J'ai trouvé ceci : http://www.developpez.net/forums/sho...09&postcount=6
    Mais en utilisant le format SHORT j'ai '12/07/08' au lieu de '12/31/2006'

    --------------------------------------------------------------------

    Mieux encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DateFormat format = 
                    new SimpleDateFormat("dd/MM/yyyy");
                  DateFormatter df = new DateFormatter(format);
                  fld = new JFormattedTextField(df);
    me transforme '2/5/2006' en '02/05/2006' sauf que '2/5/06' donne '02/05/0006'

    si quelqu'un sais m'expliquer pourquoi ..
    Dernière modification par Invité ; 04/05/2006 à 16h28.

  10. #10
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Citation Envoyé par Blaise1
    Mieux encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DateFormat format = 
                    new SimpleDateFormat("dd/MM/yyyy");
                  DateFormatter df = new DateFormatter(format);
                  fld = new JFormattedTextField(df);
    me transforme '2/5/2006' en '02/05/2006' sauf que '2/5/06' donne '02/05/0006'

    si quelqu'un sais m'expliquer pourquoi ..
    En fait si tu veux mon avis, la methode a été ecrite pour completer les chiffres manquant par des 0 peut importe le champ selectionner En bref pour le jour tu lui dis 2 il te met 02, pareil pour la date, c'est sur quatre chiffres, donc il met 0006

    C'est se que je pense, mais je n'en pas sur du tout
    A prouver donc
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  11. #11
    Invité
    Invité(e)
    Par défaut
    Ben oui je suppose aussi.
    La question est donc : 'Comment faire pour qu'il mette un 2 (ou plutôt le chiffre de l'année en cours) ?'

  12. #12
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    A part rajouter 2000 a ton année actuelle, je vois pas trop de solutions

    @+
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

Discussions similaires

  1. [Swing] JFormattedTextField et perte de focus
    Par YassVegas dans le forum Débuter
    Réponses: 2
    Dernier message: 01/05/2014, 15h51
  2. Tableau minimum besoin d'eclaircisements
    Par usualSuspect dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 25/07/2011, 22h13
  3. [Swing] besoin d'aide GridLayouts et JSlider
    Par ApoKps dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 04/01/2008, 20h47
  4. [SWING] Besoin d'aide -- Débutant
    Par calimero2611 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 12/07/2006, 16h37
  5. Réponses: 1
    Dernier message: 20/04/2006, 21h29

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