0

Hello Java Developers,

So I have recently encountered this problem. Here's and SSCCE:

public class SampleClass extends JPanel{

    private Image img;
    private final String IMG_DIRECTORY = ("/res/BG.png");

    public SampleClass(){

        try{
            img = ImageIO.read(getClass().getResource(IMG_DIRECTORY));
        } catch (IOException ioEx) {
            ioEx.printStackTrace();
        }
    }

    @Override
    public void paintComponent(Graphics g){
        super.paintComponent(g);

        g.drawImage(img, 0, 0, null);
    }

}

This line throws the exception

img = ImageIO.read(getClass().getResource(IMG_DIRECTORY));

Here's the StackTrace:

Exception in thread "main" java.lang.IllegalArgumentException: input == null!
    at javax.imageio.ImageIO.read(Unknown Source)
    at com.forte.project.chatservice.uicomponent.FrameBackground.<init>(FrameBackground.java:27)
    at com.forte.project.chatservice.ui.MainFrame.<init>(MainFrame.java:27)
    at com.forte.project.chatservice.ChatService.main(ChatService.java:18)

I have done the following:
- Google.
- Updated my Java
- .getResourceAsStream(IMG_DIRECTORY);
- this.getClass().getResource(IMG_DIRECTORY));
- MainClass.class.getClass().getResource(IMG_DIRECTORY);

Andrew Thompson
  • 168,117
  • 40
  • 217
  • 433
Michael 'Maik' Ardan
  • 4,213
  • 9
  • 37
  • 60

1 Answers1

0

Placing res folder to src folder fixed the problem.

Michael 'Maik' Ardan
  • 4,213
  • 9
  • 37
  • 60