utilisation de linterface shape

utilisation de linterface shape - Java - Programmation

Marsh Posté le 10-05-2006 à 15:22:00    

salut,
 
je suis en train dutiliser linterface shape....enfin jessaie....
jai reussi a dessiner un rectangle mais comment peut on faire pour mettre du texte dedans et ajuster le rectangle en fonction de la taille du texte...
 
mais lobjet Shape na pas de fonction drawString ou une fonction similaire a celle ci afin que je puisse ajouter du texte dans le rectangle.....pour que le rectangle se positionne afin de contenir integralement le texte selon la longueur du texte......
 
pour cela la fonction contains ne permet seulement de tester les points si ceux la sont dans le shape ou non.mais autrement que est ce que je peux faire pour mettre le texte dans le rectagnle et ajuster le rectagnle en fonction du texte...?
 
 
 
merci davance

Reply

Marsh Posté le 10-05-2006 à 15:22:00   

Reply

Marsh Posté le 10-05-2006 à 20:49:11    

max25b a écrit :

salut,
 
je suis en train dutiliser linterface shape....enfin jessaie....
jai reussi a dessiner un rectangle mais comment peut on faire pour mettre du texte dedans et ajuster le rectangle en fonction de la taille du texte...
 
mais lobjet Shape na pas de fonction drawString ou une fonction similaire a celle ci afin que je puisse ajouter du texte dans le rectangle.....pour que le rectangle se positionne afin de contenir integralement le texte selon la longueur du texte......
 
pour cela la fonction contains ne permet seulement de tester les points si ceux la sont dans le shape ou non.mais autrement que est ce que je peux faire pour mettre le texte dans le rectagnle et ajuster le rectagnle en fonction du texte...?
 
merci davance


 
En gros, ce que tu voudrais faire, c'est connaitre la "taille" de ton texte lorsqu'il est dessiné à l'écran ?
Tu peux utiliser, entre autres, TextLayout pour savoir ça...

Reply

Marsh Posté le 11-05-2006 à 11:38:10    

oui connaitre la taille du texte.........mais est ce que cela est suffisqnt pour ajuster le rectagnle en fonction du texte.....
je ne vois pas comment je pourrais faire cela en ayant la taille du texte???
 
merci

Reply

Marsh Posté le 11-05-2006 à 13:23:08    

post_it a écrit :

En gros, ce que tu voudrais faire, c'est connaitre la "taille" de ton texte lorsqu'il est dessiné à l'écran ?
Tu peux utiliser, entre autres, TextLayout pour savoir ça...


 
oui ....... la taille du texte comment je pux la connaitre?avant de le dessine car le texte doit etre dans le rectangle et le rectaangle doit sajuster en fonction du texte qui est dedans
 
comment je peux faire pour placer un rectangle tj au meme mais quelque soit la taille du frame.......?
 
quelqunn peut maider sil vous plait


Message édité par max25b le 11-05-2006 à 13:24:56
Reply

Marsh Posté le 26-06-2009 à 15:19:23    

Salut,
 
Utilises le Graphics2D , tu auras accés au getFontMetrics de la font utilisé dans ton objet graphique
Code:  
 
public void paint(Graphics g){
  Graphics2D g2d = (Graphics2D)g;
  g2d.setFont(f);
  FontMetrics fm = g2d.getFontMetrics();
 
Ensuite en te servant de getDescent() et getAscent() , tu obtiens la taille réelle de ta police , hors interligne:
  hauteur_texte_graphic = fm.getAscent()+fm.getDescent();
  longueur_texte_graphic = fm.stringWidth(/*variable type String ou texte directement*/);
 
Petit conseil , prends en compte la valeur fm.getHeight() sur laquelle tu retranches l'ascent ou le descent, ceci afin d'offrir une separation entre le contour de ton objet graphique texte et le contenu (le texte lui meme).
 
Je rappelle a titre d'info que le dessin d'un texte s'effectue par rapport au coin inferieur gauche et non le superieur gauche comme dans la majorité des formes graphiques.
Penses donc a repositionner le texte sur ton rectangle et le tour sera joué.

Reply

Marsh Posté le 26-06-2009 à 15:39:11    

http://www.fouin.org/pommedefennec/images/smiles/GS/GS_5bb6dde191be85de658dee016b8a4650.png

 

c'est pas comme si la question avait 3 ans.


Message édité par pataluc le 26-06-2009 à 15:39:51
Reply

Marsh Posté le 28-06-2009 à 05:48:28    

il est jamais trop tard

Reply

Marsh Posté le 28-06-2009 à 12:34:12    

nefast10 a écrit :

il est jamais trop tard


Mouais... le gars ne vient plus sur le forum depuis 2007 dixit son profil... donc je pense que c'est un peu tard quand même...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed