Java ImageIcon 不能显示问题

来源:互联网 发布:美国读博士条件知乎 编辑:程序博客网 时间:2024/06/11 08:45

标签: 包头 相对路径 获取 源文件 绝对地址 分类: 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中显示出图片。

0 0
原创粉丝点击