从jlabel中的url加载图像

时间:2014-08-25 12:03:24

标签: java swing jpanel background-image jlabel

我正在尝试将img作为背景设置为Jlabel(或JScrollPanel),并且我收到了一个我无法解决的异常。我的代码如下:

public void cargaImagen(String dir){

    URL url;
    try {
        url = new URL(dir);

        //Image image = ImageIO.read(dir);
        ImageIcon icon = new ImageIcon(dir, ""); 
        this.Jlabel_imagen.setIcon(icon);


    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    this.Jlabel_imagen.updateUI();
}

我得到的例外是:

  

线程“AWT-EventQueue-0”中的异常java.lang.NullPointerException          在vista.ParteTres.cargaImagen(ParteTres.java:225)

第225行是:this.Jlabel_imagen.setIcon(icon);

1 个答案:

答案 0 :(得分:2)

你写过第225行(NullPointerException的来源)是:

this.Jlabel_imagen.setIcon(icon);

JLabel.setIcon()接受null(在这种情况下,标签没有图标),只留下一个选项:this.Jlabel_imagennull

在调用this.Jlabel_imagen方法之前正确初始化setIcon()

正如mKorbel指出不需要调用JLabel.updateUI(),您可以删除它。