1

所以我现在正在用 Java 做一些事情,我需要显示很多 JTextComponents。我需要能够将任何文本组件中的单词转换为某种超链接,具体来说,当单击这些单词时,会调用一些方法。请注意,我不是在寻找真正的超链接,只是如果您单击某些文本,就会调用一个函数。我相信 JTextPane 可以使用组件解决这个问题,但我似乎无法弄清楚..

是的,这个问题已经存在,但另一个是重复的,它链接到的那个不回答这个问题。

4

2 回答 2

3

JTextArea 也可以为此工作。

  • 您可以使用 MouseListener,然后通过viewToModel(Point pt).
  • javax.swing.text.Utilities.getRowStart(textArea, offset); 如果您需要选择行的开头和getRowEnd(...)结尾,则可以使用。
  • 您可以Map<String, SomeLink>查看所选单词是否为链接词。

例如,请在此处查看我的答案。

于 2013-05-14T22:21:05.233 回答
3

如果JEditorPaneJTextPane是令人满意的JTextComponent,那么HyperlinkListener将调用 a 来执行任何所需的操作,如这个完整的示例所示。

图片

于 2013-05-15T01:40:17.440 回答