有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java NullPointerException错误?

我试图为我的游戏背景加载一个图像,但Java向我抛出了一个NullPointerException错误。我会评论它在哪里

主要内容:

public class Main {
    public static JFrame frame = new JFrame();
    public static final int windowXY[] = {800, 600};
    public static Dimension windowSize = new Dimension(windowXY[0], windowXY[1]);
    public static String windowName;
    public static String windowNames[] = {"Test1", "Test2"};
    public static Random roll = new Random();
    public static int nameRoll = roll.nextInt(2);
    public static Thread thread;
    public static boolean running;
    public static Graphics g;

    public static void main(String[] args) {
        start(g);
    }

    public static void start(Graphics g) {
        System.out.println("Starting up game...");
        windowName = windowNames[nameRoll];

        System.out.println("Loading window...");

        frame.setSize(windowSize);
        frame.setTitle(windowName);
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

        System.out.println("Finished loading window..");
        System.out.println("Loading textures...");

        MainImageRenderer.render();

        System.out.println("Finished loading textures...");
        System.out.println("Loading background...");

        //THROWS THE ERROR HERE
        MainImageRenderer.draw(g, MainImageRenderer.background, windowXY[0], windowXY[1]);     

        System.out.println("Finished loading background...");
    }
}

MainImageRenderer:

public class MainImageRenderer extends Panel {

    public static Image background;

    public MainImageRenderer() {}

    public static void render() {
        try {
            Image background = ImageIO.read(new File("/resources/background.png"));
        }
        catch(IOException ie) {}
    }

    //THIS IS THE METHOD I AM USING 
    public static void draw(Graphics g, Image img, int x, int y) {
        g.drawImage(img, x, y, null);
    }

}

我不知道是不是因为我没有把图像放在正确的地方。我使用的是Eclipse,resources文件夹与src文件夹处于同一级别


共 (1) 个答案

  1. # 1 楼答案

    background为空,因为ImageIO.read(...)正在引发异常(您没有对其进行任何处理)