-
JLabel et HTML
Bonjour,
Je sais que les JLabel peuvent interpréter du texte HTML. Dans mon cas, j'ai eu besoin de redéfinir la méthode paintComponent de mes JLabels. Mais je ne sais pas traiter le cas où le texte de mes JLabel est du HTML, donc pr l'instant lorsque j'invoque la méthode drawString, c'est la chaîne html qui est affichée en entier ds le JLabel.
Ex: la chaine suivante est affichée :
"<html>Le texte du JLabel<br>saut de ligne <u> du texte souligné</u></html>"
au lieu de :
"Le texte du JLabel
saut de ligne du texte souligné"
Comment interpréter le code HTML au sein de ma méthode paintComponent?
Merci.
-
À mon avis tu es mal barré, si je puis me permettre.
Si tu as eu besoin de redéfinir paintComponent, c'est que tu avais de sérieuses raisons, et il faudrait savoir lesquelles, car il est fortement probable que cela influe sur le rendu HTML.
Si je me trompe et qe cela ne risque pas d'influer sur le rendu HTML alors... pourquoi as-tu redéfini paintComponent ?
-
cf discussion titrée "Customisation de Borders de JLabel" pour savoir pkoi j'ai décidé de redéfinir la méthode paintComponent.
-
OK. Je comprends que ton JLabel perso est à peu près un JLabel normal, avec des coins arrondis.
Pour faire le rendu du texte, je tenterais le coup de la technique du renderer et du ZOrder : tu te prends un autre JLabel normal, dont tu passes tout en transparent, sauf le texte, et tu lui ajoutes une couche, dont tu redéfinis aussi le paintComponent. Tu dessines normalement ton JLabel arrondi, sans le texte. Et dans le paintComponent de la couche tu dessinnes le JLabel renderer. Cela devrait coller correct.
Est-ce que tu vois ce dont auquel je pense que je parle ?
PS : et y'a pas quelque part déjà un JLabel aux coins arrondis ??
Edit : Une idée me vient soudainement soudain : au lieu de redéfinir paintComponent, as-tu essayé de travailler à partir de la redéfinition de paintBorder, pour tes coins arrondis ??