[英]How to get the string in the JTextPane around the caret?
例如,有一個JTextPane有一些文本,如“123456abcd789”,插入符號現在在'7'之間。
請參閱此說明:“123456abcd | 789”。 這里的'|' 代表插入符號。
現在我想在插入符號之前獲得最長的字符串,其中只包含az。 這里是“abcd”。
但是如果我使用方法jtextpane.getCaretPosition(),我將得到一個整數11.(因為在插入符號之前有10個ascii字符和一張圖片)。 這不是我想要的整數。 也許我可以計算img的字符數,但它仍然很麻煩,容易出現錯誤。
那么如何獲得正確的字符串?
<html>
<body>
<p>
Hello, everybody!!<br>
<img src="xx.jpg">
</p>
<p>
Hello, everybody|!!<br> //The caret is here, at the left of '!'
<img src="xx.jpg">
</p>
<p>
Hello, everybody!!<br>
<img src="xx.jpg">
</p>
</body>
<html>
在上面的例子中,插入符號現在在第二句中。
而我想要做的就是在插入符號之前將“所有人”替換為“每個人”(其余的“每個人都保持不變”)。 但是,如果我使用getCaretPosition(),我將無法得到'!'的正確索引。 在HTML文本中。
那么解決方案是什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.