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

avec Java Discussion :

Masque saisie heure


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Par défaut Masque saisie heure
    Bonjour,

    je souhaiterais utiliser JFormattedTextField qui puisse faire en sorte que l'utilisateur ne rentre que les heures et minutes sans avoir besoin de taper ":" entre les deux.

    Actuellement je possède ceci, le problème étant que l'utilisateur peut rentrer X nombres avant les ":" et pareil après...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txtFieldHeureDebut = new JFormattedTextField(new SimpleDateFormat("HH:mm"));
    Merci pour votre aide

  2. #2
    Membre chevronné
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Par défaut
    Bonjour,

    Vous pouvez essayer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new JFormattedTextField(new MaskFormatter("##:##"));

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Par défaut
    Merci, j'avais déjà essayé et malheureusement ça ne marche pas...

  4. #4
    Membre chevronné
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Par défaut
    Citation Envoyé par Yokooo Voir le message
    Merci, j'avais déjà essayé et malheureusement ça ne marche pas...
    Qu'est-ce qui ne marche pas ?

    J'ai testé de mon côté, et ceci fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
    JFormattedTextField txtFieldHeureDebut = new JFormattedTextField(new MaskFormatter("##:##"));
    txtFieldHeureDebut.setValue(sdf.format(new Date()));
    Qu'en pensez-vous ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Par défaut
    En fait lorsque j'utilise le MaskFormatter cela pose un problème.

    Il m'est demandé de rajouter après ma classe"throws ParseException", et lorsque je le rajoute toutes mes autres classes liées se mettent en erreur en me demandant de rajouter également cette exception.

    J'ai essayé de les mettre aussi mais du coup beaucoup d'erreurs se crées à l'intérieur de mon programme.

    Donc votre solution doit fonctionner mais je vais devoir en trouver une autre qui s'intègrera plus facilement dans mon programme.

    La méthode de DeadPool fonctionne bien car si la valeur rentrée est incorrecte alors il remet une date valide par défaut, cependant j'aurais souhaité que l'utilisateur puisse rentrer uniquement deux nombres pour les heures et deux pour les minutes.

  6. #6
    Membre chevronné
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Par défaut
    Citation Envoyé par Yokooo Voir le message
    En fait lorsque j'utilise le MaskFormatter cela pose un problème.

    Il m'est demandé de rajouter après ma classe"throws ParseException", et lorsque je le rajoute toutes mes autres classes liées se mettent en erreur en me demandant de rajouter également cette exception.

    J'ai essayé de les mettre aussi mais du coup beaucoup d'erreurs se crées à l'intérieur de mon programme.

    Donc votre solution doit fonctionner mais je vais devoir en trouver une autre qui s'intègrera plus facilement dans mon programme.

    La méthode de DeadPool fonctionne bien car si la valeur rentrée est incorrecte alors il remet une date valide par défaut, cependant j'aurais souhaité que l'utilisateur puisse rentrer uniquement deux nombres pour les heures et deux pour les minutes.
    Et la même chose avec un bloc try catch ne conviendrait pas ?
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    try {
    	SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
    	JFormattedTextField txtFieldHeureDebut = new JFormattedTextField(new MaskFormatter("##:##"));
    	txtFieldHeureDebut.setValue(sdf.format(new Date()));
    } catch (Exception e) {
    	//Traitement de l'exception, ceci est un exemple
    	System.out.println(e.getMessage());
    }

  7. #7
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Citation Envoyé par Yokooo Voir le message
    Bonjour,

    je souhaiterais utiliser JFormattedTextField qui puisse faire en sorte que l'utilisateur ne rentre que les heures et minutes sans avoir besoin de taper ":" entre les deux.

    Actuellement je possède ceci, le problème étant que l'utilisateur peut rentrer X nombres avant les ":" et pareil après...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txtFieldHeureDebut = new JFormattedTextField(new SimpleDateFormat("HH:mm"));
    Merci pour votre aide
    Bonjour.

    Ca doit venir du fait que le SimpleDateFormat est très permissif par défaut.

    Essaie en désactivant son "indulgence" via la méthode setLenient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
    sdf.setLenient(false);
    JFormattedTextField txtFieldHeureDebut = new JFormattedTextField(sdf);

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Par défaut
    Je viens de faire ta méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
    sdf.setLenient(false);
    JFormattedTextField txtFieldHeureDebut = new JFormattedTextField(sdf);
     
    txtFieldHeureDebut.setValue(hour.getTime());
    Et je me retrouve avec une erreur à cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    add(txtFieldHeureDebut, gbc);
    L'erreur est :
    [21/04/2010 01:20:50.074][ERROR] java.lang.NullPointerException
    [21/04/2010 01:20:50.074][ERROR] at java.awt.Container.addImpl(Unknown Source)
    [21/04/2010 01:20:50.074][ERROR] at java.awt.Container.add(Unknown Source)
    [21/04/2010 01:20:50.074][ERROR] at com.actemium.syclopp.analyser.TimePanel.initComponents(TimePanel.java:176)
    EDIT :
    Il fallait supprimer JFormattedTextField qui était devant txtFieldHeureDebut, par contre ça n'a rien changé, je peux toujours taper 36 nombres dedans...

Discussions similaires

  1. [AC-2007] Masque saisie et calcul date et heure
    Par flyboy_mbn dans le forum IHM
    Réponses: 8
    Dernier message: 14/05/2012, 11h15
  2. Masque de saisie heure / Mask Time field
    Par youss20 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/06/2010, 14h56
  3. Masque de saisie heure
    Par adamess dans le forum Powerbuilder
    Réponses: 2
    Dernier message: 06/02/2007, 16h52
  4. masque saisie formulaire
    Par cramix dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 02/12/2006, 16h11
  5. Masque saisie php date
    Par jedi186 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 13/06/2006, 15h59

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