Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在HTML格式的窗格中选择指定的文本_Java_Html_Jeditorpane - Fatal编程技术网

Java 在HTML格式的窗格中选择指定的文本

Java 在HTML格式的窗格中选择指定的文本,java,html,jeditorpane,Java,Html,Jeditorpane,我正在Java JEditorPane中显示文本,并使用HTML标记文本。我还设计了一个搜索功能,在JEditorPane中查找文本,选择文本,然后滚动到它。我的问题是创建一个算法,它将实际指定选择的开始和结束位置 如果我只是使用myeditorpane.getText()检索文本,然后在结果中查找搜索字符串,则错误的选择开始和结束位置将使用错误的文本进行计算(标记将取消计算)。我尝试通过执行replace all函数text来删除html标记。(.replaceAll(\,“”)在搜索文本之前

我正在Java JEditorPane中显示文本,并使用HTML标记文本。我还设计了一个搜索功能,在JEditorPane中查找文本,选择文本,然后滚动到它。我的问题是创建一个算法,它将实际指定选择的开始和结束位置

如果我只是使用myeditorpane.getText()检索文本,然后在结果中查找搜索字符串,则错误的选择开始和结束位置将使用错误的文本进行计算(标记将取消计算)。我尝试通过执行replace all函数text来删除html标记。(.replaceAll(\,“”)在搜索文本之前(此replace all将删除标记之间的所有文本),但仍然计算了错误的选择点(尽管我接近:-))

有没有人有一个简单的方法来做到这一点

谢谢


Elliott

您可能希望处理底层文本,而不是本文建议的原始文本。

您需要找到文本的起始位置。我猜是这样的:

int offset = editorPane().getDocument().getText().indexof(...);
然后,要滚动,您可以使用:

editorPane.scrollRectToVisible( editorPane.viewToModel(offset) );

阅读更多信息。

这给了我所需要的一切。谢谢