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

API standards et tierces Java Discussion :

Remplacement de Toolkit.getFontMetrics()


Sujet :

API standards et tierces Java

  1. #1
    Membre expérimenté
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : avril 2004
    Messages : 739
    Points : 1 351
    Points
    1 351
    Par défaut Remplacement de Toolkit.getFontMetrics()
    Bonjour,

    Mon problème est du au fait que la fonction qui m'intéresse est désormais deprecated et je souhaiterais savoir comment contourner le problème avec le peu d'informations dont je dispose.

    Toolkit.getFontMetrics

    Je suis actuellement dans un environnement client serveurs(J2EE) sur lequel je désires, à partir du serveur, savoir quel rendu aura une chaine de caracteres affichée coté client. Ne disposant d'aucun environnement graphique à proprement parlé(à ma connaissance), la méthode Toolkit.getFontMetrics() s'impose comme étant une excellente solution puisque aucun contexte graphique n'est nécessaire pour obtenir mon objet FontMetrics. Malheureusement, cette méthode est dépréciée et je ne trouve pas de solution équivalente... il faut toujours fournir des paramètres dont je ne dispose pas.

    Quelqu'un a-t-il une idée de comment je pourrais contourner élégamment cette méthode ?
    Pensez au tag

  2. #2
    Invité
    Invité(e)
    Par défaut
    Si tu sais sur quel composant va s'afficher ta chaîne de caracteres, tu peux essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Graphics2D g2 = (Graphics2D) new JButton().getGraphics();
    FontMetrics metrics = g2.getFontMetrics();
    int widthString = metrics.stringWidth("String");
    int heightString = metrics.getHeight();
    Attention au look&feel.

  3. #3
    Membre expérimenté
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : avril 2004
    Messages : 739
    Points : 1 351
    Points
    1 351
    Par défaut
    Merci de ta réponse. J'ai continué mes recherches de mon coté et ai finalement abouti à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	private FontMetrics getFontMetrics(Font _font) {
    		Graphics2D graph = new BufferedImage(600,500,BufferedImage.TYPE_BYTE_GRAY).createGraphics();
    		FontMetrics fm = graph.getFontMetrics(_font);
    		return fm;
    	}
    Ca a l'air de fonctionner pour le moment, je poursuit les tests et déclare le sujet résolu si tout va bien. Surtout, si quelqu'un a une solution plus smart, qu'il n'hésite pas !
    Pensez au tag

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/12/2013, 17h40
  2. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 15h38
  3. remplacer un caractere dans un fichier
    Par ickis dans le forum C
    Réponses: 11
    Dernier message: 13/10/2003, 10h29
  4. Comment on remplace un check ?
    Par Nout dans le forum Requêtes
    Réponses: 4
    Dernier message: 29/07/2003, 12h20
  5. [SQL] Remplacer une table
    Par rstephane dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/05/2003, 18h10

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