我在项目那个文件夹下面建立一个叫"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)
请教大家这是怎么回事?应该怎么解决?
解决方案 »
- 为何声明语句不能放在if()的后面?
- 在学StringBuffer时候里面有说,只要将连接运算符+与字符串一起使用,就会自动创建StringBuffer对象是什么意思,能给举个例子吗
- preparestatement的使用问题
- 找规律 ,3,-1,-3, 谁知道
- java中"" 和'' 分别引多个和一个字符,搞不懂,后台的真正区别是什么啊?
- windows xp 上JNI写文件的效率为何很低?
- 新手请教一个问题
- 紧急求助,哪位有sgip1.2的协议说明文档以及java api。
- 关于FocusAdaptor(FocusListener)
- 请问那儿有关于java 的模式设计的书下载!谢谢
- 求java例子
- 重发:getColumnName()怎么和getColumnLabel()一样?怎么才能得到字段名? java ResultSetMetaData
另:如果text.images都是包的话,路径应该是text/images/1.jpg
Toolkit.getDefaultToolkit().getImage(getClass().getResource("text/image/1.jpg"));你的空指针异常,是因为根据你指定的路径找不到文件