Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.getImage(getClass().getClassLoader().getResource("org\\xxx\\swing\\icon.gif"));
类和图片在同一目录下
Image img = kit.getImage("icon.gif");为什么取不到图片
kit 获取图片是从哪个路径查找?
Image img = kit.getImage(getClass().getClassLoader().getResource("org\\xxx\\swing\\icon.gif"));
类和图片在同一目录下
Image img = kit.getImage("icon.gif");为什么取不到图片
kit 获取图片是从哪个路径查找?
/GUI/src/org/xxx/swing/CenteredFrame.java
/GUI/src/org/xxx/swing/icon.gif
代码和图片在同一目录下
使用上面的方法
Image img = kit.getImage(getClass().getClassLoader().getResource("/GUI/src/org/xxx/swing/icon.gif"));
Image img = kit.getImage(getClass().getClassLoader().getResource("/org/xxx/swing/icon.gif"));
都无法得到图片对象
这句应该是没问题的,唯一可能的错误就在于"/org/xxx/swing/icon.gif"这个路径是大小写敏感的,大小写不正确,就得不到正确的结果。检查一下你图片文件的后缀是不是大写的GIF?
Image img = kit.getImage(getClass().getClassLoader().getResource("icon.gif"));//如果类和图片在一个包的话,这样应该可以的./*
getResource的参数
如果开头有/的话, 会将参数当作包结构去找,也就是说你的参数一定要写成你的类开头的package 后面跟的内容(.改成/)才能够找到.如果开头没有/的话, 他会将你的类的包默认添加到参数之前
*/
body[0] = tk.getImage( new URL( ClassLoader.getSystemResource(""),"picture/bodyTank/tankUp.png" ) );用System.out.println 看了下 getClass().getClassLoader().getResource("")
得到的结果是:
file:/D:/Backup/workbench/MyProgram/bin/