编程语言
首页 > 编程语言> > java-插入位置到JEditorPane的html中

java-插入位置到JEditorPane的html中

作者:互联网

JEdi​​torPane的getCaretPosition方法为html控件的仅文本部分提供了索引.是否有可能使索引进入html文本?

更具体地说,假设我有一个html文本(其中|表示插入号的位置)

abcd<img src="1.jpg"/>123|<img src="2.jpg"/>

现在getCaretPosition给出8,而我需要25来读出图像的文件名.

解决方法:

JEdi​​torPane的基础模型(StyledDocument的某些子类,在您的情况下为HTMLDocument)实际上并未保存HTML文本作为其内部表示形式.相反,它具有包含样式属性的元素树.只有通过HTMLWriter运行该树后,它才会变为HTML.这使得您尝试做的事情有些棘手!我可以想象在您当前使用的character元素上放置一些flag属性,然后使用特制的HTMLWriter子类写出直到该标记并计数字符,但这听起来像是史诗般的骇客.可能有一种更简单的方法来获得您想要的东西,尽管我不清楚这到底是什么.

标签:jeditorpane,image,swing,caret,java
来源: https://codeday.me/bug/20191201/2084023.html