Java ImageIcon 不能显示问题

标签: 包头 相对路径 获取 源文件 绝对地址 分类: java
Java程序ImageIcon无法显示图片时,可能有以下几种原因
使用ImageIcon控件
一:在JDK 1.6中,如果java源文件没有使用包,那么可以直接通过相对路径(相对当前类的路径)获取图片
例如 ImageIcon image= new ImageIcon(“ship.png”);
其中ship.png和这句引用所在的类在同一目录下。
二:在Netbeans中,在默认文档框架下,如果Java源文件使用了包,那么可以通过loader资源获取函数获取图片
例如 包头:package guardeva;
控件: ImageIcon image= new ImageIcon(ClassLoader.getSystemResource(“guardeva/ship.png”));
这种情况下,用classloader的获取函数得到的地址是包地址作为起始。
另外,不论是否含有包,都可以用完整工程路径获取图片,例如
ImageIcon image= new ImageIcon(“src/guardeva/ship.png”);
使用Eclipse等其它开发环境可能会有所不同。
三:如果是在Applet程序中
直接用new ImageIcon(“img.jpg”)无法显示图片; 要改为new ImageIcon(getImage(getCodeBase(),”img.jpg”));图片才能显示出来。
这是由于Applet小引用程序是运行在WEB中的,没有绝对地址,所以只能用相对路径来加入图片,Applet本身不知道调用自己的网页所在的路径地址,所以用getCodeBase()来获得网页所处的位置。Applet中getImage()方法有两个构造,一个是(URL),一个是(URL,String name),我们利用第二个构造就可以返回一个指定的图片对象了,把这个图片对象加入到new ImageIcon()中就可以在Applet中显示出图片。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值