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 :

[Font] Format de police.


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut [Font] Format de police.
    bonjour tout le monde

    j'essais de modifier le forma de police des label,textfield, bouton.

    Voici un bou de code que j'aissai de faire pour un label.

    j'ai cherché sur le net, j'ai trouvé des boux de codes par ci par là.

    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
     
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import javax.swing.*;
     
     
    Label titre = new Label("Machine à café");
    Font tritrefont = titre.getFont();
    tritrefont.setBold(true);
    tritrefont.setSize(16);
    tritrefont.setColor(Color.blue);
     
    titre.setFont(tritrefont);
     
     
    this.add(titre);
    Ca ne fonctionne pas, je pense qu'il manque des imports

    Car comme erreur j'ai cannot find symbol.

    je ne voix pas ce qu'il manque.

    Pouvez vous m'aider?

    Merci

    Cordialement

    A bîentôt

  2. #2
    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
    Il me semble que les méthodes que tu as appelés sur ton objet Font, n'existent pas...

    Tu pourrais nous donner l'erreur en entier ?

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Re

    j'ai rajouté les imports

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    import java.awt.Color.*;
    import java.awt.Font.*;
    Voici l'erreur entiere

    Element.java:30: cannot find symbol
    symbol : method setBold(boolean)
    location: class java.awt.Font
    tritrefont.setBold(true);
    ^
    Element.java:31: cannot find symbol
    symbol : method setSize(int)
    location: class java.awt.Font
    tritrefont.setSize(16);
    ^
    Element.java:32: cannot find symbol
    symbol : method setColor(java.awt.Color)
    location: class java.awt.Font
    tritrefont.setColor(Color.blue);
    ^
    3 errors

    A+

  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
    C'est bien ce que je viens de te dire... Ces 3 méthodes n'existent pas

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Donc, il faut que je créé les methodes

    J'ignore quoi mettre dedans.

    Je cherche dans la doc de javac, pour le moment j'ai rien trouvé.


    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
     
    public Size()
    {
     
    }
     
     
    public Color()
    {
     
     
     
    }
     
    public Bold()
     
    {
     
     
    }
    A+

  6. #6
    Membre expérimenté Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Par défaut
    tu peux utiliser la methode DeriveFont(Map TextAttribute) de la classe font.
    Il te suffit de creer une map contenant les attributs du texte (bold, size, etc) (pour cela tu va voir dans la javadoc) et quand ta map est créée, tu fait derivefont() qui te renvoie un nouvel objet font avec les paramètres précisés.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Re


    http://java.sun.com/j2se/1.5.0/docs/...(java.util.Map)

    Je dois aussi ajouter:

    Voici mon début de code:

    J'ignore comment poursuive, il n'y a pas beaucoup d'élèment dans la doc.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public DeriveFont( Color couleur, Size taille, Bold Gras)
    {
     
     
     
     
    }
    ++

  8. #8
    Membre expérimenté Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Par défaut
    tu peux tenter :
    tritrefont=
    tritrefont.deriveFont(Font.BOLD) pour le gras
    ou tritrefont=
    titrefont.deriveFont(18f) où 18f est la taille, après les valeurs que tu peux changer sont dans la javadoc

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Excuse moi dazz_x, mai je ne comprend pas ce que tu m'expliques.

    j'ai regadé la doc de java,il n' y a d'exemples concret.

    Pourrais tu êtres plus clair stp.

    A+

  10. #10
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 897
    Billets dans le blog
    54
    Par défaut
    Citation Envoyé par javadoc
    These base fonts can then be used to derive new Font objects with varying sizes, styles, transforms and font features via the deriveFont methods in this class.
    [...]
    public Font deriveFont(int style)
    Creates a new Font object by replicating the current Font object and applying a new style to it.
    Parameters:
    style - the style for the new Font
    Returns:
    a new Font object.
    Since:
    1.2
    [...]
    public Font deriveFont(float size)
    Creates a new Font object by replicating the current Font object and applying a new size to it.
    Parameters:
    size - the size for the new Font.
    Returns:
    a new Font object.
    Since:
    1.2
    M'est avis que tu lis mal ou pas assez.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Font font = label.getFont();
    font = font.deriveFont(Font.BOLD|Font.ITALIC).deriveFont(32f);
    label.setFont(font);
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Bonjour tout le monde

    la taille me pose probleme, je n'ai pas compris le (32f).

    j'ai essayé de fair (Size.16) il ne l'accepte pas non plus.

    Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Label titre = new Label("Machine à café");
    Font tritrefont = titre.getFont();
    tritrefont = tritrefont.deriveFont(Font.BOLD).deriveFont(16).deriveFont(Color.Blue);
    titre.setFont(tritrefont);
    pouriez vous svp, répondre à cette derniere question.

    Merci

    Cordialement

    A bientôt

  12. #12
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    La méthode deriveFont qui change la taille prend un float en paramètre. Or toi, tu lui passe un int c'est pas bon.

    La lettre f derrière une constante numérique sert à indiquer au compilateur qu'il faut l'interpréter en tant que float.

    Donc met un f derrière ton 16.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <div style="text-align: left;">Label titre = new Label("Machine à café");
    Font tritrefont = titre.getFont();
    tritrefont = tritrefont.deriveFont(Font.BOLD).deriveFont(16f).deriveFont(Color.Blue);
    titre.setFont(tritrefont);</div>

  13. #13
    Membre expérimenté Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Par défaut
    tritrefont = tritrefont.deriveFont(Font.BOLD).deriveFont(16f).deriveFont(Color.Blue);
    M'est avis qu'il acceptera pas ça.... en tous cas, ça ne mettra pas le texte en bleu pour moi. deriveFont fonctionne pour la taille, le style et le type de police, mais je ne pense pas pour la couleur

  14. #14
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    re

    Encore un petit probleme.

    Voici le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Font tritrefont = titre.getFont();
    tritrefont = tritrefont.deriveFont(Font.BOLD).deriveFont(16f).deriveFont(Color.blue);
    titre.setFont(tritrefont);
    Voici l'erreur, je pense qu'il y a un probleme avec les imports.

    Element.java:31: cannot find symbol
    symbol : method deriveFont(java.awt.Color)
    location: class java.awt.Font
    tritrefont = tritrefont.deriveFont(Font.BOLD).deriveFont(16f).deriveFont(Color.blue); ^
    1 error
    Maintenant il ne reconait plus, Font.BOLD

    J'ai bien mis les imports.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.Color.*;
    import java.awt.Font.*;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import javax.swing.*;
    A moi que deriveFont ne prenne pas en charge la couleur.

    A+

  15. #15
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Citation Envoyé par dazz_x
    M'est avis qu'il acceptera pas ça.... en tous cas, ça ne mettra pas le texte en bleu pour moi. deriveFont fonctionne pour la taille, le style et le type de police, mais je ne pense pas pour la couleur
    Effectivement tu as raison, j'avais pas fais gaffe.

    Pour la couleur, suffit de passer par la méthode setForeground de la classe Label.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Label titre = new Label("Machine à café");
    titre.setForeground(Color.BLUE);
    Font tritrefont = titre.getFont();
    tritrefont = tritrefont.deriveFont(Font.BOLD).deriveFont(16f);
    titre.setFont(tritrefont);

  16. #16
    Membre expérimenté Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Par défaut
    je ne veux pas me citer, mais bon:
    Citation:
    tritrefont = tritrefont.deriveFont(Font.BOLD).deriveFont(16f).deriveFont(Color.Blue);

    M'est avis qu'il acceptera pas ça.... en tous cas, ça ne mettra pas le texte en bleu pour moi. deriveFont fonctionne pour la taille, le style et le type de police, mais je ne pense pas pour la couleur
    [EDIT :] grilled de chez grilled

  17. #17
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Citation Envoyé par argon
    Voici l'erreur, je pense qu'il y a un probleme avec les imports.



    Maintenant il ne reconait plus, Font.BOLD

    J'ai bien mis les imports.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.Color.*;
    import java.awt.Font.*;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import javax.swing.*;
    A moi que deriveFont ne prenne pas en charge la couleur.

    A+
    argon, on vient de le dire, regarde mon précédent post. deriveFont ne prend pas en charge la couleur.

  18. #18
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Merci

    Ca passe

    A++

  19. #19
    Membre éclairé Avatar de ner0lph
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Par défaut
    Hello !
    Moi j'aurai fait juste ça (et ça marche bien sûr) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JLabel jl = new JLabel("<html><font color=blue size=16>Machine à café");
    On n'est pas obligé de fermer les balises mais c'est sûr que c'est plus propre.

  20. #20
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Citation Envoyé par ner0lph
    Hello !
    Moi j'aurai fait juste ça (et ça marche bien sûr) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JLabel jl = new JLabel("<html><font color=blue size=16>Machine à café");
    On n'est pas obligé de fermer les balises mais c'est sûr que c'est plus propre.
    Ca marche aussi mais c'est juste un peu plus lent à l'affichage du fait de l'interprétation de l'html, plutôt complexe.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. formater les polices partiellement dans Access
    Par sabredebois dans le forum IHM
    Réponses: 18
    Dernier message: 29/06/2008, 17h44
  2. [VBA - W] Boucle IF et format de police
    Par perophron dans le forum VBA Word
    Réponses: 15
    Dernier message: 16/05/2007, 10h31
  3. [Font] Installer une police
    Par GLDavid dans le forum Windows XP
    Réponses: 3
    Dernier message: 02/06/2006, 11h27
  4. [FONT] Charger une police d'un fichier
    Par mercure2039 dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 21/04/2005, 17h46
  5. [SWING][FONT] choisir la police par défaut
    Par narmataru dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 21/02/2003, 10h35

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