我尝试在面板中添加hyperlinkLabel
,并在点击hyperlinklabel
时打开Chrome中的网址。但它不起作用。
这是我的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
实例中的所有字段都为空,我不知道如何修复它。我想念一些东西吗?