0

我尝试使用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,所以点击链接永远不会受到尊重。

如果我然后尝试与TableCellRenderer该 extends相同JTextPane,则不显示“图像”,仅显示默认的“损坏”图像。在这种情况下JTextPane,确实实现addHyperlinkListener了,但它又不被尊重。(是的,我创建了一个监听器。)

如果我然后尝试与TableCellRenderer该 extends相同JEditorPane,则再次不显示“图像”,仅显示默认的“损坏”图像。在这种情况下JTextPane,确实实现addHyperlinkListener了,但它又不被尊重。(是的,我创建了一个监听器。)

4

1 回答 1

4

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

您可以查看Table Button 列示例,该示例在JTable. 相同的概念可用于在JTable.

您可能还会发现以下关于“在 a 中添加超链接”JLabelSO 问题很有趣。

于 2012-09-19T13:13:59.157 回答