Java JTable中未触发超链接

Java JTable中未触发超链接,java,swing,Java,Swing,我尝试使用一个自定义的TableCellRenderer,它扩展了JLabel——这正是我想要的。 默认情况下JLabel“识别”HTML `<html><body><img src='http://www......jpg'><br>Some Text <a href='http://www.myDomain.com'>Click Here</a>Some More Text</body></html&g

我尝试使用一个自定义的
TableCellRenderer
,它扩展了
JLabel
——这正是我想要的。 默认情况下
JLabel
“识别”HTML

`<html><body><img src='http://www......jpg'><br>Some Text
<a href='http://www.myDomain.com'>Click Here</a>Some More Text</body></html>`
`
一些文本 更多的文字`
但是
JLabel
没有实现
addHyperlinkListener
,所以点击链接永远不会被尊重

如果我随后对扩展了
JTextPane
TableCellRenderer
尝试相同的操作,则不会显示“图像”,只显示默认的“断开”图像。 在这种情况下,
JTextPane
确实实现了
addHyperlinkListener
,但同样不受尊重。(是的,我创建了一个侦听器。)

如果我随后对扩展了
JEditorPane
TableCellRenderer
尝试相同的操作,那么“图像”也不会显示,只是默认的“断开”图像。
在这种情况下,
JTextPane
确实实现了
addHyperlinkListener
,但同样不受尊重。(是的,我创建了一个侦听器。)

无论您向
TableCellRenderer
返回的组件注册了多少个侦听器,它们都不会被调用。该组件不包含在表中,但仅用作戳记。因此,事件永远不会到达这些听众。此概念在(渲染器和编辑器部分)中进行了解释

您可以查看在
JTable
中添加可单击按钮的示例。相同的概念可用于在
JTable
中包含超链接


您还可能会发现下面的问题非常有趣。

无论您向
TableCellRenderer
返回的组件注册了多少侦听器,它们都不会被调用。该组件不包含在表中,但仅用作戳记。因此,事件永远不会到达这些听众。此概念在(渲染器和编辑器部分)中进行了解释

您可以查看在
JTable
中添加可单击按钮的示例。相同的概念可用于在
JTable
中包含超链接

你也可能会发现下面的问题很有趣