首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java JEditorPane超链接不会退出标记

Java JEditorPane超链接不会退出标记
EN

Stack Overflow用户
提问于 2012-08-20 18:22:12
回答 3查看 142关注 0票数 2

我尝试在JEditorPane中为某些单词使用超链接,类似于单击一个单词来获取其定义的想法。在编辑器窗格中键入单词时,程序将根据列表检查这些单词,并使用<a href="..." >some word</a>标记替换列出的单词。

我的问题是,在将单词替换为标记后,我无法让编辑器窗格停止向位于标记内的文本添加任何后续击键。如何突破<a>标记,重新开始正常输入?

是的,我知道只有当编辑器窗格不可编辑时,才会触发超链接事件。我正在使用鼠标事件来解决这个问题。

EN

回答 3

Stack Overflow用户

发布于 2012-08-20 18:45:51

票数 5
EN

Stack Overflow用户

发布于 2012-08-20 18:45:17

我自己没有使用过JEditorPanes,但听起来光标位置仍然在插入的标记内部,而不是外部。因此,一种可能的解决方案可能是在替换单词后将光标移动到标记位置的前面。

票数 0
EN

Stack Overflow用户

发布于 2012-08-21 08:01:38

在JEditorPane上使用setCaretPosition方法;获取标记末尾的位置;尝试如下所示:

代码语言:javascript
复制
HTMLDocument document = (HTMLDocument)editor.getDocument();
 int caretPos = editor.getCaretPosition();

 Element elem = document.getParagraphElement(caretPos);

 int pos = elem.getEndOffset();
 editor.setCaretPosition(pos)

注意检查文档的长度,不要把插入符号放在错误的位置。

此外,查看wysiwg java编辑器的源代码也会有所帮助(如shef)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12035925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档