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

SWT/JFace Java Discussion :

[SWT] police à caractères égaux / manipulation taille police (ou Font) win/linux


Sujet :

SWT/JFace Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 6
    Points
    6
    Par défaut [SWT] police à caractères égaux / manipulation taille police (ou Font) win/linux
    Bonjour,

    ça fait quelques jours que j'essaie de créer une police dont les caractère sont égaux sous Linux et Windows. Sur Linux, il n'y pas de soucis, par contre sous Windows (2000), la police créée n'a pas les caractères égaux (le "i" ne prend pas autant d'espace que le "m").

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int fontSize = 10;
    Font maFont = new Font(display,  "nomFont", fontSize, SWT.NORMAL);
    Donc première question, comment créer une font dont les caractères sont égaux sous Windows?


    Pour contourner ce problème, j'ai essayé de récupérer une font de Window qui convenait (tahoma, d'après ce que j'ai trouvé).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    FontData fontData[] = Display.getCurrent().getFontList("tahoma", true);
    fontData[0].setHeight(12);
    Font font = new Font(display, fontData[0]);
    label.setFont(font);
    avec label qui est un Label.

    Là le problème c'est que la méthode setHeight change bien la hauteur mais pas la largeur des caractères. Ce qui donne un effet de caractère écrasé.


    Deuxième question donc, comment modifier la taille d'une police qui existe déjà? (sans que cela donne un effet d'écrasement)

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 340
    Points : 379
    Points
    379
    Par défaut
    "Courier new" est une police de type monospace sur Windows.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Font f = new Font(Display.getCurrent(), "Courier new", 10, SWT.NORMAL);
    Ça devrait faire l'affaire.

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Malheureusement non.

    je suis sous Windows 2000
    Eclipse 3.4.1

    si jamais ça joue

    D'autre part j'avoue ne pas avoir bien compris le constructeur. L'argument "name" c'est le nom de nouvelle Font que l'on veut avoir? ou bien le nom de la Font grâce à laquelle la nouvelle va être créée?

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 340
    Points : 379
    Points
    379
    Par défaut
    L'objet de type Font ne cré pas une nouvelle police, il sert juste à encapsuler les informations nécessaires pour écrire avec une police pré-existante sur ta machine, es-tu sûr que tu possèdes "Courier new" (orthographe à vérfier). Le paramètre 'name' du constructeur est le nom de la police qui sera représentée par l'instance de Font.

    Si ça ne marche pas tente de la charger avec la méthode loadFont(String) de la classe Device (dont hérite Display).

    Je te laisse regarder la doc : http://help.eclipse.org/stable/nftop...w-summary.html

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Oops, en fait c'était bon.

    J'avais juste mal tapé le nom de la Font


    Merci

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 340
    Points : 379
    Points
    379
    Par défaut
    Tu as un bouton pour marqué ton sujet comme "Résolu" lorsque tu as la solution

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

Discussions similaires

  1. Changer taille police dans un JMenu
    Par TomPouce05 dans le forum Composants
    Réponses: 11
    Dernier message: 14/09/2015, 10h13
  2. [JButton] couleur et taille police de caractère
    Par bibous dans le forum Composants
    Réponses: 2
    Dernier message: 12/08/2008, 17h58
  3. Taille police adaptable
    Par Mike35 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 13/03/2006, 17h07
  4. taille police état
    Par philpaul dans le forum IHM
    Réponses: 2
    Dernier message: 05/03/2006, 21h19
  5. Pbm taille police de caractère
    Par uskiki85 dans le forum Access
    Réponses: 1
    Dernier message: 05/10/2005, 17h52

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