我在项目那个文件夹下面建立一个叫"images"的文件夹放一个叫"1.jpg"的图片
然后写了下面的代码:import java.awt.*;
import java.awt.event.*;
import java.awt.Image;
import java.awt.Toolkit;public class Picture extends Frame{
private static Toolkit tk=Toolkit.getDefaultToolkit();
private static Image images=tk.getImage(Pictureclik.class.getClassLoader().getResource("text.images/1.jpg"));
private static boolean init=false;
public Picture() {
}
public void Go(){
this.setSize(300,300);
this.setLocation(30,30);
this.setBackground(Color.WHITE);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
this.setVisible(true);
this.setResizable(true);
}
public void paint(Graphics g){
if(!init){
g.drawImage(images,-100,-100,null);
init=true;
}
g.drawImage(images,100,100,null); } public static void main(String[] asd){
Picture pc=new Picture();
pc.Go();
}
}运行的时候却看不到图片,打印出图片的宽度却显示-1.运行时还产生了这个错误:Uncaught error fetching image:
java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:97)
at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:106)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:240)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)
请教大家这是怎么回事?应该怎么解决?
然后写了下面的代码:import java.awt.*;
import java.awt.event.*;
import java.awt.Image;
import java.awt.Toolkit;public class Picture extends Frame{
private static Toolkit tk=Toolkit.getDefaultToolkit();
private static Image images=tk.getImage(Pictureclik.class.getClassLoader().getResource("text.images/1.jpg"));
private static boolean init=false;
public Picture() {
}
public void Go(){
this.setSize(300,300);
this.setLocation(30,30);
this.setBackground(Color.WHITE);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
this.setVisible(true);
this.setResizable(true);
}
public void paint(Graphics g){
if(!init){
g.drawImage(images,-100,-100,null);
init=true;
}
g.drawImage(images,100,100,null); } public static void main(String[] asd){
Picture pc=new Picture();
pc.Go();
}
}运行的时候却看不到图片,打印出图片的宽度却显示-1.运行时还产生了这个错误:Uncaught error fetching image:
java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:97)
at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:106)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:240)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)
请教大家这是怎么回事?应该怎么解决?
解决方案 »
- 100分求代码 按规律读取文件
- Socket服务端出现大量SYN_RECV状态的连接问题,急!!!
- Eclipse 3.3 语言包 各位大哥大姐谁有啊?
- telnet在命令行窗口中显示不出来?
- 如何将int转为long及long转int??
- 急问!main方法里面调用已经编译通过的包里面的方法,结果报错!!!
- 二进制(OutputStream)字节移位的疑惑(请教高手)
- 请教如何实现jtree的嵌套呀??????谢谢
- 请教怎么drawimage不能用啊
- 我是菜鸟我有个小问题请大家帮忙!
- 求java例子
- 重发:getColumnName()怎么和getColumnLabel()一样?怎么才能得到字段名? java ResultSetMetaData
另:如果text.images都是包的话,路径应该是text/images/1.jpg
Toolkit.getDefaultToolkit().getImage(getClass().getResource("text/image/1.jpg"));你的空指针异常,是因为根据你指定的路径找不到文件