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 :

[Look and feel] Texte des JLabels en gras [FAQ]


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2002
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 152
    Points : 94
    Points
    94
    Par défaut [Résolu][Look and feel] Texte des JLabels en gras
    Bonsoir !

    J'utilise le look and feel metal pour mon application :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
    Malheureusement le texte des JLabels est en gras par défaut et j'aimerai qu'il ne le soit pas.

    Savez-vous comment faire ?

    Merci d'avance !

  2. #2
    Membre expérimenté

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Points : 1 660
    Points
    1 660
    Par défaut
    et si tu essayais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jLabel.setFont(Font.PLAIN);

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2002
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 152
    Points : 94
    Points
    94
    Par défaut
    Merci pour ta réponse !

    Malheureusement cela ne marche pas, j'ai l'impression que l'argument passé en paramètre n'est pas valide car une erreur est signalée.

    Ne serait-ce pas plutôt queléque chose comme çà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monJLabel.setFont(new java.awt.Font("Dialog", 0, 12));
    avec le 0 pour dire que c'est du plain et pas du gras.

    Enfin, je désire trouver quelque chose qui s'applique à tout le look and feel (pour tous les JLabels) pour éviter de devoir éditer tous les JLabels.

    Merci !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2003
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Il faudrait étendre la classe MetalLookAndFeel, j'ai essayé un peu mais c'est un travail de titan...

  5. #5
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 779
    Points
    23 779
    Par défaut
    Effectivement, c'est à toi de faire ton propre Look&Feel (bon courage...).

    Pour t'aider, voici un lien très utile :

    http://setlonnert.com/java/sbe/files.../Chapter21.htm

    ced

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur full-stack
    Inscrit en
    Mai 2002
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur full-stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 46
    Points : 57
    Points
    57
    Par défaut
    salut,
    le look&Feel existant est bien suffisant.
    il suffit de chercher un peu.

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.text.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.text.*;
    import java.beans.*;
     
    import javax.swing.plaf.metal.MetalLabelUI;
     
    public class MonJLabel extends JLabel{
     
        /* constructeurs */
        public MonJLabel(String s){
            super(s);
     
            this.setUI(new MetalLabelUI(){
     
                protected void installDefaults(JLabel c){
     
                    LookAndFeel.installColorsAndFont(
                        c, "Label.background", "Label.foreground", "Helvetica"
                    );// par exemple
     
                }
     
            });
     
        }
     
        public static void main(String[] args) {
            JFrame f = new JFrame();
            JLabel label = new MonJLabel("toto");
     
            f.getContentPane().add(label);
     
            f.pack();
            f.setVisible(true);
        }
     
    }
    a+

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur full-stack
    Inscrit en
    Mai 2002
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur full-stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 46
    Points : 57
    Points
    57
    Par défaut
    désolé, mon code ne sert finalement pas à grd chose

    par contre, ceci devrait mieux répondre à la question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UIManager.put("Label.font", new Font("Helvetica", Font.PLAIN, 18));
    a+

  8. #8
    Membre régulier
    Inscrit en
    Décembre 2002
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 152
    Points : 94
    Points
    94
    Par défaut
    pour vos réponses à tous !

    Je vais essayer...

    A+ et bonne journée !

  9. #9
    Membre régulier
    Inscrit en
    Décembre 2002
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 152
    Points : 94
    Points
    94
    Par défaut
    Cà fonctionne parfaitement, merci ! Je ne connaissais pas cette méthode put() qui permet de faire plein de choses intéressantes

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 37
    Points : 24
    Points
    24
    Par défaut
    salut ! ou places-tu cette instruction ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");

    j'ai vu qu'il fallait utiliser ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    try {
       UIManager.setLookAndFeel("mon.look.and.Feel");
       //on passe au UIManager le nom complet de la classe du Look and Feel
       //naturellement, celle-ci doit être disponible dans le CLASSPATH
    } catch (InstantiationException e) {
    } catch (ClassNotFoundException e) {
    } catch (UnsupportedLookAndFeelException e) {
    } catch (IllegalAccessException e) {}

    mais oou faut-il le placer ??? dans mon JFrame je suppose... mais ou ??


    merci

  11. #11
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut
    au lancement de ton appli.. au tout début

  12. #12
    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,

    Pourquoi spécifier le LookAndFeel Metal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
    C'est le LookAndFeel par défaut...



    Sinon, on peut très bien conservé le LookAndFeel Metal mais en spécifiant que les textes ne doivent pas être en gras. Il suffit pour cela de mettre la propriété swing.boldMetal à false avant d'afficher son interface graphique.

    Il y a trois manière pouve cela, via la ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -Dswing.boldMetal=false
    Depuis l'application via les propriété systèmes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.setProperty("swing.boldMetal", "false");
    Où directement via l'UIManager :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UIManager.put("swing.boldMetal", Boolean.FALSE);
    a++

Discussions similaires

  1. Référencement des "Look And Feel" - Thèmes graphiques
    Par Mickael Baron dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 14/12/2009, 13h38
  2. Look and feel des applications GTK+ sous kde
    Par Leon Ira dans le forum Mandriva / Mageia
    Réponses: 0
    Dernier message: 28/10/2007, 12h43
  3. Look and Feel des Winforms
    Par kaminem dans le forum Windows Forms
    Réponses: 3
    Dernier message: 31/08/2007, 08h55
  4. [LnF] où télécharger des nouveau look and feel ?
    Par Cyborg289 dans le forum Interfaces Graphiques en Java
    Réponses: 11
    Dernier message: 13/09/2005, 14h33
  5. Jbuilder9 Look and feel de borland
    Par wsrudmen dans le forum JBuilder
    Réponses: 6
    Dernier message: 26/06/2003, 18h07

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