java.lang.IllegalArgumentException: input == null! ao usar o ImageIO.read para carregar a imagem como bufferedImage

Esta é uma pergunta que foi feita 100 vezes neste site, mas eu olhei para todos eles e, apesar de todos terem sido resolvidos, nenhuma das soluções funcionou para mim.

Aqui está o meu código:

public Button1(Client client, String imgName) {
    this.client = client;   

    try {
        this.icon = ImageIO.read(this.getClass().getResourceAsStream("/resources/" + imgName));
    } catch (IOException e) {
        e.printStackTrace();
    }

Quando o código é executado, resulta no seguinte erro:

Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)

A string imgName é passada para o construtor de uma classe filha e é o nome de uma imagem (por exemplo, image.png). Também verifiquei se a pasta my resources está na raiz da pasta do projeto e se está incluída como uma pasta de origem no projeto do eclipse. Eu também me certifiquei de queSystem.getProperty("user.dir") aponta para o local correto. Eu também tentei usar getResource () em vez de getResourceAsStream (), mas ainda não funciona.

questionAnswers(9)

yourAnswerToTheQuestion