Toolkit.getImage()方法的使用

lsj304 2011-05-18 05:09:28
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.getImage(getClass().getClassLoader().getResource("org\\xxx\\swing\\icon.gif"));
类和图片在同一目录下
Image img = kit.getImage("icon.gif");为什么取不到图片
kit 获取图片是从哪个路径查找?
...全文
703 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
胡小来 2011-06-05
  • 打赏
  • 举报
回复
囧额~ 我用 URL 搞定的~

Toolkit tk = Toolkit.getDefaultToolkit();
body[0] = tk.getImage( new URL( ClassLoader.getSystemResource(""),"picture/bodyTank/tankUp.png" ) );

用System.out.println 看了下 getClass().getClassLoader().getResource("")
得到的结果是:
file:/D:/Backup/workbench/MyProgram/bin/

albertshaw 2011-05-26
  • 打赏
  • 举报
回复

Image img = kit.getImage(getClass().getClassLoader().getResource("icon.gif"));

//如果类和图片在一个包的话,这样应该可以的.

/*
getResource的参数
如果开头有/的话, 会将参数当作包结构去找,也就是说你的参数一定要写成你的类开头的package 后面跟的内容(.改成/)才能够找到.

如果开头没有/的话, 他会将你的类的包默认添加到参数之前
*/
lsj304 2011-05-26
  • 打赏
  • 举报
回复
上面说的都不行,没有解决方案
andycpp 2011-05-19
  • 打赏
  • 举报
回复
Image img = kit.getImage(CenteredFrame.class.getResource("/org/xxx/swing/icon.gif"));

这句应该是没问题的,唯一可能的错误就在于"/org/xxx/swing/icon.gif"这个路径是大小写敏感的,大小写不正确,就得不到正确的结果。检查一下你图片文件的后缀是不是大写的GIF?
hy158753228 2011-05-19
  • 打赏
  • 举报
回复
getResource("icon.gif")
jinglingqaz 2011-05-19
  • 打赏
  • 举报
回复
如果代码和图片在同一个目录下,试试看不加图片的路径
lsj304 2011-05-19
  • 打赏
  • 举报
回复
不好用啊我的目录结构是
/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"));
都无法得到图片对象
andycpp 2011-05-18
  • 打赏
  • 举报
回复
建议使用绝对路径,斜杠用的也很别扭,改成我这样的

/andycpp/resource/icon.gif

其中andycpp是根目录

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧