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

JSF Java Discussion :

[PrimeFaces] Modifier les couleurs/polices d'un theme.


Sujet :

JSF Java

  1. #1
    Membre actif Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Points : 220
    Points
    220
    Par défaut [PrimeFaces] Modifier les couleurs/polices d'un theme.
    Bonjour,

    Comment faire pour modifier les couleurs de certains éléments d'un thème ?
    Exemple : le fond d'un tabview ? Les couleurs des onglets ? La couleur du background du boody ?

    Modifier la taille de la police générale ?

    Est-ce que ceci est référencé quelque part ?

    Merci.
    - La communication consiste a comprendre celui qui ecoute !
    - Qui veut faire quelquechose trouve un moyen, qui ne veut rien faire trouve une excuse

  2. #2
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2013
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 269
    Points : 434
    Points
    434
    Par défaut
    Bonjour,
    tu peux le faire simplement en rajoutant une feuille de style et en surchargeant les éléments souhaités. Il faut juste t'assurer que l'appel à cette feuille de style se fasse bien après celles de Primefaces.

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    L'ordre de chargement des css n'étant pas maîtrisable simplement, d'une manière générale, si tu veux remplacer des éléments css de Primefaces, il faut juste rajouter l'attribut !important à la fin de la définition.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    .ui-state-disabled{
        color:#909090 !important;
        opacity:1.0 !important;
        filter:alpha(opacity=100) !important;
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre actif Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Points : 220
    Points
    220
    Par défaut
    Ok, merci pour vos reponses.

    2 questions :
    1/Comment connaitre les éléments CSS de primefaces ?
    2/Ne peut-on pas modifier le/les CSS primesfaces directement ?

    merci
    - La communication consiste a comprendre celui qui ecoute !
    - Qui veut faire quelquechose trouve un moyen, qui ne veut rien faire trouve une excuse

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Alors, je répond dans l'ordre inverse :
    2- Oui, on peut
    1- Ça dépend du thème utilisé, et, généralement, ils sont "packés" donc difficiles à lire
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre actif Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Points : 220
    Points
    220
    Par défaut
    Merci,

    ICi : https://stackoverflow.com/questions/...-custom-styles
    il dit de ne jamais utiliser "!important;"

    Sinon, pour la suite des questions:
    2/ comment ? y a t il des exemples ? j'ai essayé de regarder dans un .jar (dans le thème "afterdark") le fichier theme.css n'a pas l'air complet ??!!!!

    autre petite chose quand je mets dans ma page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputStylesheet name="css/mystyle.css" />
    j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mars 21, 2018 3:12:07 PM com.sun.faces.application.resource.ResourceHandlerImpl logMissingResource
    AVERTISSEMENT: JSF1064 : Impossible de localiser ou de servir une ressource, css/mystyle.css.
    Et dans le code HTML generer j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ><link type="text/css" rel="stylesheet" href="/javax.faces.resource/css/mystyle.css.jsf" />
    merci
    - La communication consiste a comprendre celui qui ecoute !
    - Qui veut faire quelquechose trouve un moyen, qui ne veut rien faire trouve une excuse

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Elwe31 Voir le message
    ICi : https://stackoverflow.com/questions/...-custom-styles
    il dit de ne jamais utiliser "!important;"
    Ne jamais dire jamais... dans tous les cas, tu n'as pas le choix puisque tu ne maîtrises pas l'ordre de chargement
    Citation Envoyé par Elwe31 Voir le message
    Sinon, pour la suite des questions:
    2/ comment ? y a t il des exemples ? j'ai essayé de regarder dans un .jar (dans le thème "afterdark") le fichier theme.css n'a pas l'air complet ??!!!!

    autre petite chose quand je mets dans ma page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputStylesheet name="css/mystyle.css" />
    Il faut mettre ceci dans ta page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <h:outputStylesheet library="css" name="mystyle.css" />
    avec la structure de répertoire suivante : /WEB-INF/resources/css/mystyle.css
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre actif Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Points : 220
    Points
    220
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    <h:outputStylesheet library="css" name="mystyle.css" />
    avec la structure de répertoire suivante : /WEB-INF/resources/css/mystyle.css
    me donne toujours
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mars 22, 2018 9:06:03 AM com.sun.faces.application.resource.ResourceHandlerImpl logMissingResource
    AVERTISSEMENT: JSF1064 : Impossible de localiser ou de servir une ressource, mystyle.css.
    Quand tu parles d'ordre de chargement, c'est dans le fichier source HTML généré ? parce que si tu mets h:outputStylesheet dans le <body>, il est a la fin des link type="text/css" rel="stylesheet"
    merci
    - La communication consiste a comprendre celui qui ecoute !
    - Qui veut faire quelquechose trouve un moyen, qui ne veut rien faire trouve une excuse

  9. #9
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Quand tu as plusieurs noms de classes identiques dans des fichiers css externes, la première définition d'un attribut l'emporte sur les suivantes.
    Comme le fichier css de Primefaces est placé devant, il prime toujours... d'où le besoin de !important

    Et tu peux toujours mettre ta référence au css à la fin de ton body, ça n'y change rien...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2013
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 269
    Points : 434
    Points
    434
    Par défaut
    L'attribut !important est déconseillé car il "casse" le principe de la surcharge css en cascade.
    Mais si c'est le seul moyen d'appliquer ton style, tu ne pourras pas faire autrement.

    Autrement un tuto pour ordonner tes ressources : https://www.mkyong.com/jsf2/primefac...in-primefaces/
    N'utlisant plus Primefaces, je n'ai aucun retour sur ces factets, mais si tu arrives bien à faire charger ta feuille de style en dernier, tu n'auras aucun mal à customiser ton style primefaces.

  11. #11
    Membre actif Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Points : 220
    Points
    220
    Par défaut
    ok.

    mais pour le "Impossible de localiser ou de servir une ressource, mystyle.css."

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputStylesheet library="css" name="mystyle.css" />
    donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link type="text/css" rel="stylesheet" href="/javax.faces.resource/mystyle.css.jsf" />
    je ne comprends pas le code généré
    - La communication consiste a comprendre celui qui ecoute !
    - Qui veut faire quelquechose trouve un moyen, qui ne veut rien faire trouve une excuse

  12. #12
    Membre actif Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Points : 220
    Points
    220
    Par défaut
    l'emplacement du fichier css :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    WebContent
     |-- resources
     |    `-- css
     |         `-- mystyles.css
    - La communication consiste a comprendre celui qui ecoute !
    - Qui veut faire quelquechose trouve un moyen, qui ne veut rien faire trouve une excuse

  13. #13
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Elwe31 Voir le message
    ok.

    mais pour le "Impossible de localiser ou de servir une ressource, mystyle.css."

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputStylesheet library="css" name="mystyle.css" />
    donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link type="text/css" rel="stylesheet" href="/javax.faces.resource/mystyle.css.jsf" />
    je ne comprends pas le code généré
    Ça ne colle pas.
    D'après ce que tu me montres, tu devrais avoir cette ligne de générée dans ta page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <link type="text/css" rel="stylesheet" href="/tonAppli/javax.faces.resource/mystyle.css.xhtml?ln=css" />
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre actif Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Points : 220
    Points
    220
    Par défaut
    Ben j'ai bien cela de générer et ça fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link type="text/css" rel="stylesheet" href="/javax.faces.resource/mystyle.css.jsf?ln=css" />
    - La communication consiste a comprendre celui qui ecoute !
    - Qui veut faire quelquechose trouve un moyen, qui ne veut rien faire trouve une excuse

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

Discussions similaires

  1. Datatable Primefaces : modifier les couleurs
    Par denisduval75 dans le forum Général Conception Web
    Réponses: 32
    Dernier message: 05/02/2018, 14h16
  2. Comment modifier les couleurs de police dans Notepad++
    Par F.BOREL dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 12/09/2016, 16h32
  3. Comment modifier les couleurs de Windows ?
    Par Harry dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 29/09/2005, 09h55
  4. Comment modifier les couleurs système ?
    Par yousserr dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 24/07/2005, 10h57
  5. [BP]Borland Pascal : modifier les couleurs par défaut.
    Par Pipoland dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 12/10/2004, 21h32

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