无法使DrawImage在Java中工作

时间:2013-10-31 00:05:49

标签: java image swing drawimage

package chapter4;

import java.awt.Color;
import java.awt.Graphics;``
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL;
import javax.swing.JFrame;

/**
 *
 * @author Ale
 */
public class DrawImage extends JFrame{
    private Image image;
    public static void main(String[] args){
        new DrawImage();
    }

    public DrawImage(){
        super("DrawImage");
        setSize(600,600);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Toolkit tk= Toolkit.getDefaultToolkit();
        image= tk.getImage(getURL("yoshi.PNG"));                

    }

    private URL getURL(String filename){
        URL url;
        try{
            url= this.getClass().getResource(filename);
        }
        catch(Exception e){}
        return null;
    }

    /**
     *
     * @param g
     */
    @Override
    public void paint(Graphics g){
        Graphics2D g2d=(Graphics2D) g;
        g2d.setBackground(Color.WHITE);
        g2d.fillRect(0, 0, getSize().width, getSize().height);

        g2d.drawImage(image, 20, 40, this);
    }

}

图像与此类位于同一文件夹中,但它会给我错误并且不会显示图像。这些是错误:

Uncaught error fetching image:
java.lang.NullPointerException
    at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:115)

还有一些类似的东西。需要帮助。该文件是来自马里奥的yoshi的png文件

1 个答案:

答案 0 :(得分:3)

您从getUrl()方法返回null。您需要返回url对象。