文本鼠标悬停在Swing JTextArea上弹出?
是否有任何内容允许您在 Swing JTextArea 中的单个单词或字母上显示一个小文本弹出窗口(如工具提示)?(或者具有类似功能的 JTextArea 替代项。
我需要的东西应该像工具提示一样,换句话说,只有在鼠标悬停在单词上一两秒钟后才会显示弹出文本,一旦鼠标移开,它就会自动消失。当然,这里棘手的部分是,我希望它在文本中的字符/单词级别,而不是在组件级别......有什么建议吗?
是否有任何内容允许您在 Swing JTextArea 中的单个单词或字母上显示一个小文本弹出窗口(如工具提示)?(或者具有类似功能的 JTextArea 替代项。
我需要的东西应该像工具提示一样,换句话说,只有在鼠标悬停在单词上一两秒钟后才会显示弹出文本,一旦鼠标移开,它就会自动消失。当然,这里棘手的部分是,我希望它在文本中的字符/单词级别,而不是在组件级别......有什么建议吗?
您可以根据需要覆盖 getToolTipText(鼠标事件事件)。
附录:JTextComponent
,的父级通过两种方法提供位置信息:modelToView()
和 viewToModel()。
<<b13>后者应该允许您将鼠标位置转换为文档偏移量。JTextArea
当然,这里棘手的部分是我希望它在文本中的字符/单词级别
您可以使用鼠标点来确定您在文本区域中的位置:
int offset = textArea.viewToModel(...);
现在,您已经有了偏移量,您可以在该位置获取字符或单词。Utilities 类具有 getWordStart() 和 getWordEnd() 等方法。
然后,使用 getText(...) 方法获取单词或字符。