0
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)

他にもいくつか似ています。助けが必要です。ファイルはマリオのヨッシーのpngファイルです

4

1 に答える 1

3

getUrl() メソッドから null を返しています。url オブジェクトを返す必要があります。

于 2013-10-31T00:13:28.693 に答える