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

Interfaces Graphiques en Java Discussion :

LookAnd Feel utilisation


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Par défaut LookAnd Feel utilisation
    Salut.
    J'ai un LookAndFeel dans mon pc et je veut l'utiliser dans mes app comment puis je faire.
    Je connait deja comment utilisé les lookandfeel deja present dans le jdk. Mais ce que je telecharge depuis internet je ne sais pas comment utiliser.
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    UIManager.LookAndFeelInfo[] lf=UIManager.getInstalledLookAndFeels();
    lf=UIManager.getInstalledLookAndFeels();
    for(int i=0;i<lf.length;i++){
    	UIManager.setLookAndFeel(lf[i].getClassName());
    	JOptionPane.showMessageDialog(null,""+lf[i].getClassName());
    	}
    Que puis je faire dans les autres cas?.
    Merci d'avance.

  2. #2
    Membre chevronné
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Par défaut
    Utilisation du LnF "liquidLookAndFeel" téléchargé sur le net:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    		try 
    		{
    			UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
    			com.birosoft.liquid.LiquidLookAndFeel.setLiquidDecorations(true, "panther");
    		}
    		catch(Exception e) 
    		{
    			e.printStackTrace();
    		}
    en ayant biensur ajouté le LnF dans ton projet.

  3. #3
    Membre éclairé Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Par défaut
    Il faut aussi ajouter une ligne de mise à jour de l'affichage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SwingUtilities.updateComponentTreeUI(panel);//ici panel est l'un des composants à mettre à jour, les autres le seront automatiquement

  4. #4
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    J'ai une question en rapport avec celle-ci : Si on ajoute un l&f dans le class-path, est-ce qu'il va nous être retourné avec la méthode getInstalledLookAndFeel ou alors, faut il l'ajouter nous-mêmes si on fait une liste déroulante par exemple ?

  5. #5
    Membre chevronné
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Par défaut
    IL ne me semble pas que le LnF soit consideré comme "installé".
    Ensuite, tout dépend de l'endroit où tu vas coller le LnF téléchargé à mon avis.
    Dans le cas d'une appli qui est vouée à être déployée, je considère que l'inclure seulement dans le projet et dans le .jar final en poitant dessus via le fichier manifest, c'est largement suffisant.

    Libre à toi ensuite de le réutiliser dans d'autres projet puisque tu as le .jar du LnF.
    Citation Envoyé par Razgriz
    Il faut aussi ajouter une ligne de mise à jour de l'affichage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SwingUtilities.updateComponentTreeUI(panel);
    //ici panel est l'un des composants à mettre à jour, les autres le seront automatiquement
    Tout dépend de l'endroit choisi pour écrire le code du LnF.
    Si l'appel du LnF est dans le main avant l'instanciation d'une appli Swing, inutile de mettre à jour les composants.
    L'appli démarre avec le LnF appliqué à tous ses enfants (fenetre modale, etc...).

  6. #6
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Citation Envoyé par Regis.C
    IL ne me semble pas que le LnF soit consideré comme "installé".
    Ensuite, tout dépend de l'endroit où tu vas coller le LnF téléchargé à mon avis.
    Dans le cas d'une appli qui est vouée à être déployée, je considère que l'inclure seulement dans le projet et dans le .jar final en poitant dessus via le fichier manifest, c'est largement suffisant.
    Merci

  7. #7
    Membre chevronné Avatar de gronono
    Inscrit en
    Novembre 2003
    Messages
    457
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2003
    Messages : 457
    Par défaut
    Citation Envoyé par wichtounet
    J'ai une question en rapport avec celle-ci : Si on ajoute un l&f dans le class-path, est-ce qu'il va nous être retourné avec la méthode getInstalledLookAndFeel ou alors, faut il l'ajouter nous-mêmes si on fait une liste déroulante par exemple ?

    C'est écrit dans la javadoc:
    Citation Envoyé par getInstalledLookAndFeels
    Returns an array of objects that provide some information about the LookAndFeel implementations that have been installed with this software development kit.
    Par contre tu peux utiliser les méthodes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    setInstalledLookAndFeels()
    ou
    installLookAndFeel()
    Pour ajouter des LnF à la liste de ceux installé par le JDK.

  8. #8
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Une petite méthode assez générique pour setter un look and feel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public void setLAF(String laf, JFrame f) {
    try {
    			UIManager.setLookAndFeel(laf);
    			SwingUtilities.updateComponentTreeUI(f.getRootPane());
    		} catch (Exception e) {
    		}
    }
    pour le lancement, n'oublie pas de l'ajouter à ton classpath comme l'a mentionné wichtounet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -classpath le_chemin_vers_ton_look_and_feel.jar; tonAppli

  9. #9
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Par défaut
    Je voi que cette discution c deroullé sans moi.
    Mais je vais comme meme y participé.
    Voila j'ai placé mon lookandfeel dans le dossier com du jdk pres des autres package de lookandfeel du jdk, j'esperé que ca marecherai mais malheureusemet c'ete pas le cas.

    Citation Envoyé par Regis.C
    Utilisation du LnF "liquidLookAndFeel" téléchargé sur le net:

    Code :
    try
    {
    UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
    com.birosoft.liquid.LiquidLookAndFeel.setLiquidDecorations(true, "panther");
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }en ayant biensur ajouté le LnF dans ton projet.
    J'ai une question : est ce que "panther" ce fait pour tout les lookandfeel telecharger?
    si oui c'est bien c facile,mais si non alors je croi qu'il faut chercher le mot adequoi pour chaque lookandfeel . sauf s'il y a une documentation sur lui.

  10. #10
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    "panther" est spécifique à Liquid, tu n'es pas obligé de mettre cette ligne là pour les autres.
    Pour ton premier problème, tu peux placer ton look and fell ou tu veux du moment que tu l'ajoutes au CLASSPATH avant de l'utiliser...

  11. #11
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Par défaut
    Oups j'ai un prob, le lookandfeel que j'ai n'est que demo, je n'ai que le .jar et j'ai pas le code source, est ce que comme meme je peut l'utiliser ou non?
    En effet quand j'ai decompressé le jar, j'ai trouvé que les .class.
    question : est ce que je peut utiliser ces class dans mon code ou non.?
    Merci d'avance.

  12. #12
    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
    Sans problème, il suffit que ce jar soit dans le classpath. Aucun besoin des sources dans ce cas (et ton l&f n'est probablement pas une démo)

  13. #13
    Membre chevronné
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Par défaut
    Citation Envoyé par sinok
    Sans problème, il suffit que ce jar soit dans le classpath. Aucun besoin des sources dans ce cas (et ton l&f n'est probablement pas une démo)
    +1!
    Inutile d'avoir les .java. Seul les .class sont utiles pour l'utilisation d'un .jar externe.
    Si tu développes sous Eclipse, va sur la FaQ, ils expliquent très bien comment inclure un jar dans un projet.

  14. #14
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Par défaut
    Justement je travail sous eclips, Merci beaucoup.
    J'ai resolu mon problem je vous en suis reconnaissent.
    Mais si je ne travailé pas sous eclips, je code sur blocnote par exemple comme puis je ajouté ce jar dans le class path?

  15. #15
    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
    ça se fait au lancement de ton appli avec l'option -cp de la ligne de commande java

    exemple

    java -cp .;chemincompletversmonjar.jar; MaClassePrincipale

    Attention bien penser au .

  16. #16
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Par défaut
    Citation Envoyé par sinok
    ça se fait au lancement de ton appli avec l'option -cp de la ligne de commande java

    exemple

    java -cp .;chemincompletversmonjar.jar; MaClassePrincipale

    Attention bien penser au .
    alors a chaque fois que je veut executé mon app je doit ecrire la meme ligne.
    D'une autre part,Une exception va se declancher si j'utilise les class du .jar lors de la compilation sinon je doit intrduire le jar dans la compilation ?.

    J'ai eu l'idée de crée un fichier classPath pour mon app pour y integré les .jar que je veut utiliser, mais il reste comment l'appelé ou bien comment le prendre en compte dans mon app. je voullé faire comme eclipse mais j'ai pas encor tenté la chance.

  17. #17
    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 fait il vau mieux créer un script(shell sous Unix flavoured comme linux ou macsos, batch sous windaube) qui lance cette ligne de commande, donc tu n'as qu'à la tapper une fois

  18. #18
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Par défaut
    ???????? rien compris

  19. #19
    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
    Aller hop, retour au cours:[LIST][*] http://www.c-sait.net/cours/scripts.php pour les scripts shells

  20. #20
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Par défaut
    Ou je voi. cela va m'evitré d'ecrire les command a chaque foi.
    Pour l'instant je code sous eclipse alors j'ai pas de problem, mais ca reste une info de plus.
    Merci infiniment

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

Discussions similaires

  1. Utilisation d'un Look And Feel sans recompiler un programme
    Par Hell_Hibou dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 26/09/2009, 16h07
  2. utilisation du look and feel
    Par adel.87 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 30/06/2008, 03h00
  3. Utilisation du look and feel 'substance'
    Par tiboudchou dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 17/03/2008, 21h39
  4. installer un look and feel et l'utiliser
    Par ekard dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 09/02/2007, 17h13
  5. [look and feel] Recupérer et utiliser le look and feel Mac
    Par oursblanc dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 24/01/2006, 04h52

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