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 :

[L&F]Modifier le L&F en cours d'exécution


Sujet :

AWT/Swing Java

  1. #1
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut [L&F]Modifier le L&F en cours d'exécution
    Bjr tt le monde ,

    voilà j'essaie de changer de look and feel dynamiquement durant l'exécution de mon programme...

    Je récupère la liste des Look & Feel installé sur mon poste avec la méthode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    LookAndFeelInfo[] listLandF = UIManager.getInstalledLookAndFeels();
    ... // etc
    le seul problème est que lorsque je valide les modifs, le nouveau Look&Feel ne s'applique pas sur les composants qui existaient déjà, mais uniquement sur ceux qui se créent après la modification (malgré l'utilisation intensive de validate et repaint)...

    Quelqu'un a une idée ?

    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UIManager.setLookAndFeel( leLookAndFeel );
    SwingUtilities.updateComponentTreeUI( taFrame );
    De plus il vaut mieux éxécuté ce code dans un Thread séparé avec invokeLater()

    a++

    [edit] Balise [ url ] mal fermé

  3. #3
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    imppecable ça marche tip top ;-)

    mais je ne vois pas trop pourquoi le lancer dans un thread séparé....
    m'enfin c'est pas grave j'ai qu'à utiliser une classe anonyme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Runnable runnable = new Runnable(){
      public void run(){
        SwingUtilities.updateComponentTreeUI( taFrame );
      }
    };
     
    // pas ça:
    // new Thread(runnable).start();
     
    // mais ça 
    SwingUtilities.invokeLater(runnable);

    en tt cas !

    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ThePills
    mais je ne vois pas trop pourquoi le lancer dans un thread séparé....
    This method should be used when an application thread needs to update the GUI.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/10/2010, 14h45
  2. Modifier ressource d'une DLL en cours d'utilisation
    Par sivaller dans le forum Windows
    Réponses: 1
    Dernier message: 23/01/2010, 01h54
  3. [Scrum] comment modifier le backlog du sprint en cours ?
    Par rad_hass dans le forum Méthodes Agiles
    Réponses: 11
    Dernier message: 30/10/2009, 13h07
  4. [Modifier la taille de la JVM] en cours d'exécution
    Par brisco_505 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 26/06/2009, 15h07

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