我在URL链接上收到nullPointerException

时间:2014-02-12 18:27:58

标签: java swing url nullpointerexception imageicon

我正在尝试为我编写的这个数学练习程序构建一个工具栏。我试图从名为images的文件夹中获取图像。它不允许我这样做。它给了我一个NullPointerException,我将用 * 标记行,Exception指向这些行。

public JButton makeNavigationButton( String imageName, String toolTipText ) {
   String imgLocation = "images/" + imageName + ".jpg";
   URL imageURL = MathPractice.class.getResource(imgLocation);
   JButton button = new JButton();
   button.setToolTipText(toolTipText);
   //button.addActionListener(this);
   button.setIcon( new ImageIcon( imageURL )); //************* NPE here
   return button;
}

1 个答案:

答案 0 :(得分:1)

Class.getResource()的文档说:

  

查找具有给定名称的资源。搜索资源的规则   与给定类相关联的是由定义类实现的   班级装载机。此方法委托给此对象的类   装载机。如果这个对象是由bootstrap类加载器加载的,那么   method委托给ClassLoader.getSystemResource(java.lang.String)。

     

在委托之前,从中构造绝对资源名称   使用此算法给定资源名称:

     

如果名称以'/'('\ u002f')开头,则资源的绝对名称是'/'后面的名称部分。   否则,绝对名称的格式如下:

    modified_package_name/name 
     

其中modified_pa​​ckage_name是此对象的包名称,其中'/'替换为'。' ( '\ u002e')。

使用Eclipse,如果目录imagesbin中,则会找到它。将images移至src/images