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 :

Question sur les Look and Feel


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 55
    Par défaut Question sur les Look and Feel
    Bonjour à Tous.
    Au lancement d'une application Swing, j'applique un Look and Feel. Seulement dans un cas précis, j'aurais besoin que certains boutons ne se voient pas appliquer ce look and feel et qu'ils restent dans celui par défaut.
    Est ce qu'il y a une solution pour qu'au chargement de thème, j'empêche qu'il s'applique à ces 2 boutons ou est ce que je dois carrément créer un nouveau look and feel?

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Avril 2005
    Messages : 277
    Par défaut
    Voici comment je fais (peut être pas la mEILLEURE méthode mais elle marche) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    // Sauvegarde du look and feel courant, au début de l'application
    // Tu peux aussi en mettre un prédéfini ici pour marier 2 LnF
    LookAndFeel w_lnf = UIManager.getLookAndFeel();
     
    // On met un lookAndFeel Perso
    try{
    UIManager.setLookAndFeel(MonLookANdFeel);
    }catch(Exception e){e.printStackTrace();}
     
    // ICI on crée les composants avec le LnF perso
     
     
    // On remet le LnF qui était par défault
    try{
    UIManager.setLookAndFeel(w_lnf);
    }catch(Exception e){e.printStackTrace();}
     
    // On crée les composants
     
    // Etc ....... Autant de fois que tu veux ... Oublie pas de remettre les bons lookAndFeels apres les créations de composants, ca peux génèrer des bugs
    Il est impératif avec cette méthode que tu sache EXACTEMENT toujours quel lookAndFeel est actif !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 55
    Par défaut
    Cela ne semble pas fonctionner. Il faut dire que j'utilise Netbeans pour générer mon interface graphique et ce sont des JXTaskPane que je veux laisser avec le look and feel d'origine.
    Quelqu'un saurait dans quel évènement des JXTaskPane je dois mettre cette modif sur le look?

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Avril 2005
    Messages : 277
    Par défaut
    J'utilise pas netBEans mais je skin bien des JXTaskPane !!!

    Si tu fais les manips au bon endroit ca roule ... Essaye avant de creer le JTaskPaneContainer ...

    Je te previens que si tu utilise le LiquidLookANdFeel tu te frottera surement a quelques erreurs dues au fait qu'il ne supprote pas TOUS les composants swing !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 55
    Par défaut
    C'est bon, c'est le look and feel Substance que j'utilise (celui qui donne des effets à la Beryl/Vista).
    Sinon j'ai trouvé comment faire dans Netbeans. C'est ce que recommandait JamesP mais appliqué à mon IDE.

    je charge mon look and Feel Substance au lancement de l'appli :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    --> try{
    UIManager.setLookAndFeel(new SubstanceLookAndFeel());
    }catch(Exception e){e.printStackTrace();}
    Sauf que sur mes jXTaskPane, sur le Pre-creation code, je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    --> try{ UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); }catch(Exception e){e.printStackTrace();}
    et sur le Post-Creation Code je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    try{
    UIManager.setLookAndFeel(new SubstanceLookAndFeel());
    }catch(Exception e){e.printStackTrace();}
    Ca fait un peu beaucoup mais au moins mes jXTaskPane sont jolis :-)

    Merci JamesP!

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Avril 2005
    Messages : 277
    Par défaut
    De rien, a ton service ^^

    Ravi d'avoir pu t'aider ...

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

Discussions similaires

  1. [Swing] Les meilleurs look and feel pour Java
    Par soulhouf dans le forum AWT/Swing
    Réponses: 22
    Dernier message: 15/05/2014, 23h24
  2. look and feel XP sur VISTA
    Par spynux dans le forum Windows Vista
    Réponses: 8
    Dernier message: 28/08/2007, 20h24
  3. Réponses: 14
    Dernier message: 15/10/2006, 11h22
  4. [C#] Look and Feel Office 2003 avec les Windows Forms
    Par vandamme dans le forum Windows Forms
    Réponses: 7
    Dernier message: 20/01/2006, 00h18
  5. [look and feel] Ou les trouver ?
    Par olive.m dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 08/03/2004, 18h42

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