在阅读java核心技术的书中看到一段有关加载图片的代码,可总是无法加载图片,不知道问题处在何处?
以下是这段代码
package Image;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
public class ImageShow extends JFrame{
private static Image img;
private String fileName="test.jpg";//图片文件名,路径与类文件同目录下
public static void main(String args[]){
ImageShow jf=new ImageShow();
jf.setTitle("show image!");
jf.setBounds(100, 100, 400, 300);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.loadImage();
}
public void loadImage(){
try{
//img=ImageIO.read(new File("test.jpg")); 加载后img对象为null
img=Toolkit.getDefaultToolkit().getImage(fileName);//加载后img不为空,但width和height为-1
}catch(Exception e){
e.printStackTrace();
}
if(img==null){
System.out.println("img is null");
}
else{
int width=img.getWidth(this);
int height=img.getHeight(this);
System.out.println("Image width:"+width+" height: "+height);
}
}
public void paintComponent(Graphics g){
super.paintComponents(g);
g.drawImage(img,20,20,this);
}
}
请高手指点一二,不胜感激,最好有加载图片的源代码!