2016-08-21 5 views
0

Dites qu'un texte brut et une image sont entrés par un utilisateur dans un volet de texte. Comment lire séparément le texte et l'image à partir de ce volet de texte?Comment lire une image à partir d'un volet de texte?

+0

* « Dire un texte et une image sont saisies par un utilisateur dans un volet de texte. » * Je suis sûr que si le volet de texte peut contenir une image, le texte n'est plus "simple". Montre-moi différent dans un [mcve]. Une façon d'obtenir une image pour un exemple est de créer un lien hypertexte vers des images vues dans [ce Q & A] (http://stackoverflow.com/q/19209650/418556). –

+0

Suivre cet article >> [Comment charger une image et y écrire du texte en Java] (http://stackoverflow.com/questions/6540376/how-can-i-load-an-image-and-write- text-to-it-using-java) –

Répondre

0

Si HTMLEditorKit est défini comme le kit d'éditeur par défaut, récupérez tous les éléments du document. Puis parcourez ces éléments et recherchez l'élément image. Puis séparez-les des éléments de texte. Suivi des liens peuvent venir à votre aide:

  1. Element to string in HTMLDocument

  2. How to get current html element(tag) in JTextPane?

+0

Génial! Merci. Cela a fonctionné pour moi. – i262666

+0

Si cela a résolu votre problème, veuillez le marquer comme réponse approuvée. Heureux de vous aider. –

0

Pour obtenir le texte brut à partir d'un JTextPane, vous pouvez utiliser:

myJTextPane.getDocument().getText(...) 

Pour obtenir l'image, vous devez utiliser StyleConstants.getIcon(...). Par exemple, pour obtenir l'image à i offset:

StyleConstants.getIcon(((DefaultStyledDocument)myJTextPane.getDocument()).getCharacterElement(i).getAttributes()))