# Java > Interfaces Graphiques en Java > AWT/Swing >  Comment bien utiliser un JTextPane

## Beleg

Bonjour  tous,

je travaille sur une ihm qui permet d'entrer du texte  partir de zone dfinies par le biais de polygone. Mon ecran est spar en deux, je trace mes polygones a gauche et j'ai des JTextPane de la meme taille qui apparaissent sur la droite.

Je souhaite implmenter un comportement particulier pour ceux-ci :
* lorsque l'utilisateur tape du texte, celui-ci doit tenir sur une ligne, si on arrive au bout du JTextPane, on rduit la taille de la font, mais on ne revient pas  la ligne.
* Si on enlve du texte, la taille de la font augmente pour remplir l'espace
* Si l'utilisateur tape sur entre, on va  la ligne
* L'utilisateur peut mettre le Texte en forme

Aprs quelques recherches, j'ai lu que je devais crer mon propre modle de document qui tend PlainDocument, avec une dfinition de style particulier,

Par contre, je ne comprends pas bien comment utiliser ces objets, c'est pourquoi je suis  la recherche d'exemples d'utilisation des classes StyledDocument, PlainDocument et JTextPane, merci d'avance pour votre aide.

----------


## gifffftane

Est-ce que l'exemple de la  ::faq::  Comment avoir un diteur de texte avec plusieurs styles de mise en page ? te permet d'avancer, mme s'il ne rpond pas  toutes tes questions ?

----------


## Beleg

bon j'ai pas mal avanc la dessus, je met en forme et fait tout un tas de trucs chouettes avec mes JTextPane  ::): 

Par contre, j'ai une question sur l'utilisation de FontMetrics, je cherche  calculer la taille idale de ma font en fonction de la hauteur du JTextPane et du nombre de lignes slectionnes par l'utilisateur.

Jusque la tout va bien, j'ai une mthode qui calcule la hauteur en pixel, divise ca par le nombre de lignes, logiquement j'ai donc la taille max en pixel qui doit etre occupe par la police

C'est ici que FontMetrics intervient, si j'ai bien compris cette mthode permet de calculer les tailles en pixels, particulierement  l'aide de getHeight ?

Je l'utilise donc mais le rsultat retourn est trange : 16 dans mon cas, pour un getSize qui me donne 12p, une font de 12 prendrait donc 16 pixels a l'ecran ? ca me parait improbable ^^

Merci donc de me dire ce que je n'ai pas compris, ci joint la mthode pour voir  :



```

```

----------


## Beleg

La question du dessus est toujours valable  ::): 

Autre question, je trace des formes avec un outil de dessin, cela me donne un polygone dans une fenetre.
Dans un autre fenetre je trace un JTextPane, sens reprsent le rendu textuel du contenu du Polygone. Si je ne me suis pas tromp, on ne peut avoir des JTextPane que de forme rectangulaire, je fais donc un getBound du polygone.

J'ai donc le rectangle qui contient ma forme, dans lequel je peux saisir du texte.
Je sais le texte dans une autre fenetre, une fois celui ci saisit, je remplis le JTextPane rectangulaire avec mon texte.

Mais idalement, je souhaiterai qu'il suive autant que possible la forme du polygone. Si on prend ce dessin :


Est il possible de positionner mon texte de manire prcise, c'est  dire d'adopter une mise en forme permettant  mon texte "d'pouser" le polygone ?

----------

