【发布时间】:2012-02-20 05:15:29
【问题描述】:
我有一个 Java 桌面应用程序,它在 JTable 中显示一些信息,其中可能包含一些单元格中带有一些文本的 URL。如果他/她点击它,我怎样才能只使 URL 可点击并允许用户在默认浏览器中打开它。
【问题讨论】:
标签: java html swing url jtable
我有一个 Java 桌面应用程序,它在 JTable 中显示一些信息,其中可能包含一些单元格中带有一些文本的 URL。如果他/她点击它,我怎样才能只使 URL 可点击并允许用户在默认浏览器中打开它。
【问题讨论】:
标签: java html swing url jtable
这里是一个关于将文本显示为超链接的示例:HyperLink in JTable Cell
【讨论】:
Desktop.getDesktop().browse(url.toURI()); 的调用被注释掉了!我想知道这是什么逻辑?
您可以在自定义TableCellEditor 中使用here 显示的方法。选择后,您可以browse() URI。
附录:您可以将JEditorPane 用于您的编辑器组件,并使用addHyperlinkListener() 来监听与链接相关的事件。
JEditorPane jep = new JEditorPane();
jep.addHyperlinkListener(new HyperlinkListener() {
@Override
public void hyperlinkUpdate(HyperlinkEvent e) {
HyperlinkEvent.EventType type = e.getEventType();
final URL url = e.getURL();
if (type == HyperlinkEvent.EventType.ENTERED) {
// do desired highlighting
} else if (type == HyperlinkEvent.EventType.ACTIVATED) {
// open browser
}
}
});
【讨论】: