在HyperlinkListener中调用hyperlinkUpdate方法时,HyperlinkEvent实例的java字段为空
我尝试在面板中添加一个hyperlinkLabel
,当我单击hyperlinklabel
时,在chrome中打开url。但它不起作用
以下是我的java代码:
String hyperlinkText = "this is <a href=\"http://www.baidu.com\">baidu</a>";
hyperlinkLabel.setHyperlinkText(hyperlinkText);
HyperlinkListener hyperlinkListener = new HyperlinkListener() {
@Override
public void hyperlinkUpdate(HyperlinkEvent e) {
HyperlinkFrame.this.dealListener(e);
}
};
hyperlinkLabel.addHyperlinkListener(hyperlinkListener);
dealListener方法是:
private void dealListener(HyperlinkEvent e)
{
if(e.getEventType() != HyperlinkEvent.EventType.ACTIVATED)
return;
if(Desktop.isDesktopSupported()) {
try {
Desktop.getDesktop().browse(e.getURL().toURI());
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (URISyntaxException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
调试时,它抛出一个NullPointerException
。而且HyperlinkEvent
实例中几乎所有的字段都是空的,我不知道如何修复它。我错过什么了吗
共 (0) 个答案