如何从文本窗格中读取图像?

How to read an image from text pane?

假设用户将纯文本和图像输入到文本窗格中。如何从这样的文本面板中分别读取文本和图像?

如果您将 HTMLEditorKit 设置为默认编辑器工具包,则获取文档的所有元素。然后遍历这些元素并寻找图像元素。然后将它们与文本元素分开。以下链接可能会对您有所帮助:

  1. Element to string in HTMLDocument

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

要从 JTextPane 获取纯文本,您可以使用:

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

要获取图像,您需要使用StyleConstants.getIcon(...)。例如,要获取偏移量为 i 的图像:

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