[英]Why am I getting a file not found exception here?
这让我发疯,我同时使用了连接和格式,而生成的字符串与正确的路径匹配。 循环从一开始就抛出异常。
这是怎么回事?
ImageIcon thisWorks= new ImageIcon(testview.class.getResource("/led_images/"+1+"_off.png"));
for(int i = 1; i <= 10; i++)
{
String on = String.format("/led_images/%d_on.png",i);
String off = String.format("/led_images/%d_off.png",i);
ledIcons.put( i+"_off", new ImageIcon(testview.class.getResource(off)));
ledIcons.put( i+"_on", new ImageIcon(testview.class.getResource(on)));
}
编辑:我是否错误地使用了 Map? 这是一个Map<String,ImageIcon>
。
Edit2:是的,我想我使用 map 不正确。
我有这样声明:
public Map< String, ImageIcon> ledIcons;
这是循环内的 null 值。 所以我猜它不像 c++ 那么呢?
Edit3:是的,不要介意这个问题,我没有正确初始化该字段,我很抱歉。
如果thisWorks
有效,那么显然存在"/led_images/1_off.png"
。 如果您在循环中遇到图像异常,那么可能是其中之一
/led_images/2_off.png
/led_images/2_off.png
/led_images/3_off.png
...
/led_images/10_off.png
/led_images/1_on.png
/led_images/2_on.png
/led_images/3_on.png
...
/led_images/10_on.png
缺失。
编辑:我是否错误地使用了 Map? 这是 Map 之一。
不,这对我来说看起来不错。 (除非您稍后在检索时遇到问题。)
我猜前面的斜线是问题所在; 你可能想要一个相对路径。 请参阅文档:
http://download.oracle.com/javase/6/docs/api/java/lang/Class.html#getResource(java.lang.String )
初始化字段:
public Map< String, ImageIcon> ledIcons = new HashMap< String, ImageIcon>();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.