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 :

JChooser - réinitialiser le champ


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Hobby
    Inscrit en
    Août 2002
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Hobby

    Informations forums :
    Inscription : Août 2002
    Messages : 128
    Par défaut JChooser - réinitialiser le champ
    Bonjour !

    J'ai trouvé sur le web ce bout de code permettant de redéfinir la valeur d'un jChooser pour un jCalendar.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((javax.swing.JTextField) jDateChooser1.getDateEditor().getUiComponent()).setText("");
    N'ayant pas trouvé d'explicatif valable sur le web, qui peut m'expliquer le fonctionnement cette partie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getDateEditor().getUiComponent())
    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Le composant JDateChooser (de toedter, celui que tu utilises visiblement, mais ce serait mieux que tu le précises quand c'est pas une bibliothèque standard du JDK) est composé de plusieurs composants graphiques dont l'un est un champ de saisie de date, qu'on obtient par la méthode getDateEditor(). Cette méthode retourne un IDateEditor, parce ce que champ de saisie peut être implémenté de plein de manières différentes. Mais comme il s'agit tout de même d'un composant Swing au final, l'interface IDateEditor qui définit ce champ de saisie a une méthode qui permet de récupérer le champ de saisie Swing qui sert de base au champ de saisie, par cette méthode getUIComponent().
    Ton code pose doublement problème :
    • il fait le postulat que le champ de saisie repose sur un JTextField, ce qui n'est pas forcément le cas (ça pourrait être un JSpinner). Mais bon, tu dois savoir comment tu as construit le calendrier, et donc savoir quel éditeur est utilisé.
    • Ce code est une bidouille pour contourner le fait qu'il n'y a pas de moyen d'initialiser une saisie vide dans l'API Toedter. Il vient directement mettre une chaîne vide dans un JTextField en supposant que l'éditeur repose sur ce composant, sans se préoccuper de savoir comment le composant de calendrier gère les dates saisies. Or, le composant JCalendra utilise une instance de calendar en interne. La valeur indiqué en direct dans le JTextField ne sera donc pas prise en compte par l'API, qui partira du principe que la date saisie actuellement est la dernière saisie (ou initialisée), pas du tout la chaîne vide. Tu risques dont d'avoir des résultats incohérents (un JCalendar.getDate() ne te retournera pas null parce que tu as mis "" dans le composant d'UI du IDateEditor, par exemple, mais la dernière date valide saisie).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre confirmé
    Homme Profil pro
    Hobby
    Inscrit en
    Août 2002
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Hobby

    Informations forums :
    Inscription : Août 2002
    Messages : 128
    Par défaut
    Merci "joel.drigo" pour cette information complète.
    Je vais étudier tout ceci posément !

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/06/2007, 20h43
  2. [Débutant] Alert sans réinitialiser les champs
    Par kahya dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/03/2007, 10h50
  3. [VBA] Réinitialiser les champs d'un formulaire
    Par kirgan dans le forum Access
    Réponses: 3
    Dernier message: 30/05/2006, 13h10
  4. Réponses: 9
    Dernier message: 10/01/2006, 16h27
  5. [formulaire] réinitialiser un champ de type file
    Par Baadshah dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 20/12/2005, 14h28

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