在HyperlinkListener中调用hyperlinkUpdate方法时,HyperlinkEvent实例的字段为NULL

时间:2015-09-17 03:04:54

标签: java

我尝试在面板中添加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实例中的所有字段都为空,我不知道如何修复它。我想念一些东西吗?

0 个答案:

没有答案