【发布时间】:2011-09-28 15:54:45
【问题描述】:
我有一个显示 HTML 文本的 JTextPane。 HTML 文本具有带有标签的超链接...
当用户单击 JTextPane 上显示的 html 文本中的链接时,我想调用 java 函数。
我怎样才能做到这一点?如果需要实现一个事件监听器?如果是这样,要处理的适当事件侦听器是什么?
【问题讨论】:
我有一个显示 HTML 文本的 JTextPane。 HTML 文本具有带有标签的超链接...
当用户单击 JTextPane 上显示的 html 文本中的链接时,我想调用 java 函数。
我怎样才能做到这一点?如果需要实现一个事件监听器?如果是这样,要处理的适当事件侦听器是什么?
【问题讨论】:
你要找的监听器类型是一个HyperlinkListener,一些代码sn-p:
final JTextPane pane = new JTextPane();
pane.setEditable(false);
pane.setContentType("text/html");
pane.setPage("http://swingx.java.net");
ToolTipManager.sharedInstance().registerComponent(pane);
HyperlinkListener l = new HyperlinkListener() {
@Override
public void hyperlinkUpdate(HyperlinkEvent e) {
if (HyperlinkEvent.EventType.ACTIVATED == e.getEventType()) {
try {
pane.setPage(e.getURL());
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
};
pane.addHyperlinkListener(l);
【讨论】: