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

Composants Java Discussion :

[JEditorPane] valeurs de drawLine et taille du texte généré


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 26
    Par défaut [JEditorPane] valeurs de drawLine et taille du texte généré
    Bonjour,

    Je dois créer un composant contenant du texte généré en HTML (j'utilise donc le JEditorPane et ça marche comme il faut) et des traits. Dans le texte de base, les traits (verticaux et horizontaux) sont représentés par des séries de - ou de !. Je ne peux pas utiliser les tableaux en HTML (j'ai essayé mais les "tableaux" sont tous différents et je n'ai pas de "shéma" pour les trouver dans mon texte).
    Je me suis donc rabattue sur l'idée de dessiner ces lignes à l'aide de la fonction drawLine et en surchargeant la fonction paint de mon JEditorPane.
    Après quelques recherches, j'ai découvert la classe FontMetrics et les méthodes stringWidth, getHeight et getMaxDescent pour calculer la taille de ma chaîne de caractères jusqu'à '!' pour savoir où tracer ma ligne verticale. Sauf que ça calcule la taille de ma chaîne si je l'affichais avec drawString ! Aucun rapport avec la font affichée par le JEditorPane !
    J'ai essayé des trucs pas très propres, comme multiplier la taille de ma chaine par la longueur de "o", mais ça donne rien de bien...

    Existe-t-il un moyen de connaitre la taille du texte obtenu après interprétation du HTML ? (et si vous pensez avoir une meilleure idée pour obtenir le résultat que je recherche, je suis preneuse !)

    Merci d'avance pour vos conseils.

  2. #2
    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
    Une balise <hr/> ne ferait-elle pas l'affaire?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 26
    Par défaut
    Je ne crois pas qu'une balise <hr/> me permette de commencer et d'arrêter mon trait où je le souhaite, et ne résout pas mon souci pour ce qui est des traits verticaux...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 26
    Par défaut
    J'ai spécifié dans mon code html et dans la fonte dont j'utilise la "FontMetrics" que je voulais un type "monospace", ce qui rend ma "bidouille" à peu près juste (apparemment, une taille 3 en html correspond à une taille 13 ou 14 en points).

    Mais tout ça reste assez imprécis, je vais donc essayer de me créer mon propre EditorKit... J'ai peur que ça ne soit un morceau un petit peu gros pour moi, donc si vous avez des liens vers des tutos/exemples/explications (ou quelques explications "de vive voix") je suis preneuse !

    Merci Sinok et les autres de votre aide

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 26
    Par défaut
    Bon, après quelques retouches ma "bidouille" marche niquel. Donc, si jamais quelqu'un voulait faire quelque chose de similaire :
    - Ne pas oublier d'appliquer la même fonte au graphics et au code html (avec la même taille en pt)
    - Utiliser une fonte monospaced (pour connaitre la largeur d'une lettre)
    - Avec une fonte monospaced la largeur est toujours la même, même en gras

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

Discussions similaires

  1. [javascript][IE6] changement automatique taille du texte
    Par MatMeuh dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 04/12/2008, 13h05
  2. [JTable] ajuster la taille d'une colonne à la taille du texte
    Par GETah dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 24/02/2005, 12h53
  3. retait d'une valeur numérique au mieu d'un texte
    Par RémiDavid dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/04/2004, 17h20
  4. taille du texte dans un viewport
    Par pitounette dans le forum OpenGL
    Réponses: 3
    Dernier message: 22/07/2002, 13h06

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