为什么“输入==空!”使用ImageIO显示图像时?图像与Java文件位于同一文件夹中

时间:2018-12-22 09:50:01

标签: java swing bufferedimage javax.imageio

我正在尝试显示图像GrassTile.png,但是显示为“ java.lang.IllegalArgumentException:输入== null!”一直显示,没有图像可显示。当前,GrassTile.png和Game.java一起位于src文件夹中。

我已经将GrassTile.png移到src文件夹,并创建了一个资源文件夹,但是这两种方法都不起作用。请帮忙!

public class Game extends JFrame implements Runnable
{
    private Canvas canvas = new Canvas();
    private RenderHandler renderer;
    private BufferedImage testImage;

    public Game() 
    {

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


        setBounds(0,0, 1000, 800);


        setLocationRelativeTo(null);


        add(canvas);


        setVisible(true);


        canvas.createBufferStrategy(3);

        renderer = new RenderHandler(getWidth(), getHeight());

         testImage = loadImage("GrassTile.png");
    }


    public void update() {

    }


    private BufferedImage loadImage(String path) 
    {
      try
      {
            BufferedImage loadedImage = ImageIO.read(Game.class.getResource(path));
            BufferedImage formattedImage = new BufferedImage(loadedImage.getWidth(), loadedImage.getHeight(),BufferedImage.TYPE_INT_RGB);
            formattedImage.getGraphics().drawImage(loadedImage, 0, 0, null);

            return formattedImage;
      }
      catch(IOException exception)
      {
            exception.printStackTrace();
            return null;
      }
    }

请帮助解决错误,我只想显示图像而不是看到空白的灰色屏幕。

0 个答案:

没有答案