これは、このサイトで 100 回ほど尋ねられた質問ですが、私はそれらすべてを調べましたが、すべて解決されたにもかかわらず、どの解決策もうまくいきませんでした。
私のコードは次のようになります。
public Button1(Client client, String imgName) {
this.client = client;
try {
this.icon = ImageIO.read(this.getClass().getResourceAsStream("/resources/" + imgName));
} catch (IOException e) {
e.printStackTrace();
}
コードを実行すると、次のエラーが発生します。
Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
文字列 imgName は、子クラスからコンストラクターに渡され、画像の名前です (例: image.png)。また、リソース フォルダーがプロジェクト フォルダーのルートにあり、Eclipse プロジェクトのソース フォルダーとして含まれていることも確認しました。System.getProperty("user.dir")
また、それが正しい場所を指していることも確認しました。getResourceAsStream() の代わりに getResource() を使用してみましたが、それでも機能しません。