有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在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) 个答案