因此,我正在使用Java中的某些东西,现在需要显示大量JTextComponents。我需要能够将任何文本组件中的单词转换为超链接,具体来说,单击这些单词时会调用某种方法。请注意,我不是在寻找一个真正的超链接,只要你点击一些文本,就会调用一个函数。我相信JTextPane可以使用组件解决这个问题,但我似乎无法弄清楚它。Java伪超链接
是的,这个问题已经存在,但另一个是重复的,它链接到的一个没有回答这个问题。
因此,我正在使用Java中的某些东西,现在需要显示大量JTextComponents。我需要能够将任何文本组件中的单词转换为超链接,具体来说,单击这些单词时会调用某种方法。请注意,我不是在寻找一个真正的超链接,只要你点击一些文本,就会调用一个函数。我相信JTextPane可以使用组件解决这个问题,但我似乎无法弄清楚它。Java伪超链接
是的,这个问题已经存在,但另一个是重复的,它链接到的一个没有回答这个问题。
JTextArea也可以为此工作。
viewToModel(Point pt)
转换点击的位置。javax.swing.text.Utilities.getRowStart(textArea, offset);
,最后使用getRowEnd(...)
。Map<String, SomeLink>
查看选定的单词是否为链接词。有关此示例,请检查我的答案here。
如果JEditorPane
或JTextPane
是令人满意的JTextComponent
,则HyperlinkListener
将被调用以执行任何所希望的动作,如图这个完整example。
其实,我发现了一个更简单的方法来做到这一点,但我还有一个问题... 所以我找到了解决办法是选择的文本转换成使用的JTextPane的insertComponent方法一个新的组件。但是,当我创建一个像这样的新组件时,关联的文本会在原始行的下方偏移一点......这非常令人厌烦。 – user633314