我有一个显示HTML文本的JTextPane。 HTML文本包含带标签的超链接......
当用户点击JTextPane上显示的html文本中的链接时,我想调用java函数。
我怎样才能做到这一点?如果需要实现事件监听器?如果是,那么要处理的事件监听器是什么?
答案 0 :(得分:4)
您正在寻找的侦听器类型是HyperlinkListener,一些代码片段:
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);