Dans mon application, j'utilise un Maintenant, je crée un jbutton qui copie le contenu de ce Au lieu d'obtenir uniquement le contenu brut: P> jtextpane code> pour afficher certaines informations de journal. Comme je tiens à Hightlight, des lignes spécifiques dans ce texte (par exemple, les messages d'erreur), je définis le
contenttype code> comme "
texte / html code>". De cette façon, je peux formater mon texte.
jtextpane code> dans le presse-papiers. Cette partie est facile, mais mon problème est que lorsque j'appelle
mytextpane.getext () code>, je reçois le code HTML, tel que: p>
blabla
foobar
blabla
4 Réponses :
Vous devez le faire vous-même malheureusement. Imaginez si une partie du contenu était spécifique HTML, par exemple des images - la représentation du texte n'est pas claire. Inclure le texte alt ou non par exemple. P>
(est REGEXP autorisé? Ce n'est pas analysé, n'est-ce pas) p>
Prenez le résultat GetText () et utilisez String.ReplaceAll () pour filtrer toutes les balises. Qu'une garniture () pour éliminer les espaces bleus de direction et de fin. Pour les espaces blanchisseurs entre votre premier et vous dernière «BLABLA», je ne vois pas de solution générale. Peut-être que vous pouvez renversé le reste autour de CRLF et couper toutes les cordes à nouveau. P>
(Je n'ai pas d'expert de Regexp - Peut-être que quelqu'un peut fournir au reguisement et gagner une certaine réputation;)) p>
.. Je viens de supposer que vous n'utilisez pas << / code> et
> code> dans votre texte - sinon .. Dites, c'est un défi. P>
Basé sur la réponse acceptée à: Supprimer HTML à partir d'une chaîne Java version légèrement modifiée de la classe si nécessaire Une manipulation plus fine à grain envisager de mettre en œuvre plus d'une interface définie par html2text code> trouvé sur la réponse que j'ai liée à p>
htmleditorkit.parsCallback code>
p> p>
Pas besoin d'utiliser le parseCallback. Utilisez simplement:
textPane.getDocument().getText(0, textPane.getDocument().getLength()) );
C'est vraiment une très bonne solution ... Sauf que j'ai perdu toutes les pauses de la ligne, puis ma chaîne finale n'est qu'en une ligne. Dommage, parce que j'ai vraiment aimé cette solution!
Oui, le document ne stocke pas les pauses de la ligne, ils ont ajouté manuellement par l'autre solution.