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 :

[JCheckBox] Foreground de base ou utilisateur?


Sujet :

AWT/Swing Java

  1. #1
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Par défaut [JCheckBox] Foreground de base ou utilisateur?
    Bonjour,

    Voici mon problème :
    J'ai une checkbox sur laquelle j'aimerais savoir si le foreground (donc la couleur du texte) a été mis par l'utilisateur ou celui de base.
    J'ai trouvé la méthode "isForegroundSet" mais elle me renvoi toujours true.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    JCheckBoxjcb = new JCheckBox();
    jcb.setText("CheckBox");
    System.out.println(jcb.isForegroundSet());
    Auriez-vous une autre idée de comment avoir cette information ?

    Merci.

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Il suffit de comparer le retour du getForeground de la JCheckBox avec l'entrée CheckBox.foreground des propriétés de l'UIManager.

  3. #3
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    bonjour,

    Citation Envoyé par Tiitiix Voir le message
    J'ai une checkbox sur laquelle j'aimerais savoir si le foreground (donc la couleur du texte) a été mis par l'utilisateur ou celui de base.
    la couleur par défaut du texte en SWING est le noir.
    je comprend pas l'utilité

  4. #4
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Par défaut
    Citation Envoyé par sinok Voir le message
    Il suffit de comparer le retour du getForeground de la JCheckBox avec l'entrée CheckBox.foreground des propriétés de l'UIManager.
    Merci, ta réponse m'a mise sur la voie. Configurant du look&feel, j'ai défini la valeur que je veux comme référence et si c'est différent c'est que c'est l'utilisateur qui l'a modifié, exact?

    EDIT :
    Je suis allée un peu trop vite (mea culpa), si on redéfinit la valeure du CheckBox.foreground, normalement, sans modification via setForeground, la méthode getForeground ne devrait-elle pas renvoyer la valeure du CheckBox.foreground?

    Citation Envoyé par slim_java Voir le message
    bonjour,

    la couleur par défaut du texte en SWING est le noir.
    je comprend pas l'utilité
    Parce que je configure un look&feel et que la couleur par défaut n'est pas celle de Swing. Et l'utilité est d'associer une couleur à une action sur la checkbox selon si l'utilisateur a choisi la couleur ou si c'est celle par défaut (pas de Swing).

  5. #5
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    En général un Look And Feel renseigne tout un nombre de clefs dans les propriétés de l'UIManager, en particulier celles qui concernent les couleurs des foregrounds. (Et ceci via la méthode installColors de la classe héritant de LookAndFeel du L&F utilisé). Ensuite il y a la possibilité de passer via la méthode getDefaults de l'UIManager qui ne renvoie par forcément la même map que celle utilisée directement par l'UIManager (enfin ceci n'est qu'une supposition).



    Dans ton cas il suffira de récupérer la valeur idoine de l'UIManager

  6. #6
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Par défaut
    Merci pour ton aide sinok.

    J'ai compris d'où venait mon erreur : je n'avais bien spécifié la propriété (defaultProperties), d'où pourquoi cela ne marchait pas.

    donc grâce à la comparaison du foreground j'arrive à savoir si l'utilisateur a fourni une couleur à la checkbox ou non (et donc prendre celle par défaut)

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

Discussions similaires

  1. Base multi utilisateurs
    Par chabagrou dans le forum Sécurité
    Réponses: 5
    Dernier message: 27/02/2007, 17h16
  2. base multi-utilisateurs et droits différents
    Par spacergirly dans le forum Sécurité
    Réponses: 5
    Dernier message: 12/02/2007, 15h11
  3. Base multi utilisateur
    Par Daniel MOREAU dans le forum Access
    Réponses: 2
    Dernier message: 10/05/2006, 15h00
  4. verrouillage des données / base Multi utilisateurs
    Par DI DODO dans le forum Access
    Réponses: 1
    Dernier message: 27/03/2006, 15h34
  5. autorisation et acces a une base par utilisateur
    Par azde7015 dans le forum Access
    Réponses: 1
    Dernier message: 09/02/2006, 16h08

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