Java 在HTML格式的窗格中选择指定的文本
我正在Java JEditorPane中显示文本,并使用HTML标记文本。我还设计了一个搜索功能,在JEditorPane中查找文本,选择文本,然后滚动到它。我的问题是创建一个算法,它将实际指定选择的开始和结束位置 如果我只是使用myeditorpane.getText()检索文本,然后在结果中查找搜索字符串,则错误的选择开始和结束位置将使用错误的文本进行计算(标记将取消计算)。我尝试通过执行replace all函数text来删除html标记。(.replaceAll(\,“”)在搜索文本之前(此replace all将删除标记之间的所有文本),但仍然计算了错误的选择点(尽管我接近:-)) 有没有人有一个简单的方法来做到这一点 谢谢Java 在HTML格式的窗格中选择指定的文本,java,html,jeditorpane,Java,Html,Jeditorpane,我正在Java JEditorPane中显示文本,并使用HTML标记文本。我还设计了一个搜索功能,在JEditorPane中查找文本,选择文本,然后滚动到它。我的问题是创建一个算法,它将实际指定选择的开始和结束位置 如果我只是使用myeditorpane.getText()检索文本,然后在结果中查找搜索字符串,则错误的选择开始和结束位置将使用错误的文本进行计算(标记将取消计算)。我尝试通过执行replace all函数text来删除html标记。(.replaceAll(\,“”)在搜索文本之前
Elliott您可能希望处理底层文本,而不是本文建议的原始文本。您需要找到文本的起始位置。我猜是这样的:
int offset = editorPane().getDocument().getText().indexof(...);
然后,要滚动,您可以使用:
editorPane.scrollRectToVisible( editorPane.viewToModel(offset) );
阅读更多信息。这给了我所需要的一切。谢谢