ホームページ  >  記事  >  Java  >  getClass().getResource() が画像のロードに失敗するのはなぜですか?

getClass().getResource() が画像のロードに失敗するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-09 22:33:02322ブラウズ

Why Does getClass().getResource() Fail to Load My Image?

getClass().getResource() を使用したリソースのロード

アプリケーション アイコンの画像をロードしようとしたときに、使用する際に問題が発生しました。 getClass().getResource()。このメソッドは、ファイルシステム パスではなく、クラスパスからリソースを読み込みます。

最初の例では、getClass().getResource を使用して URL 経由でイメージにアクセスしました。このメソッドは、指定されたリソースのクラスパスを検索します。指定されたクラスパスの場所でイメージが見つからなかった場合、imgURL は null を返しました。

対照的に、ファイル パスを文字列として渡して ImageIcon を直接作成すると、ファイル システムから読み取るため、イメージが正常に読み込まれました。この場合、パスはイメージ ファイルを直接参照します。

この問題に対処するには、クラスパス経由でイメージ ファイルにアクセスできることを確認してください。これには通常、プロジェクト ディレクトリ内のサブディレクトリにイメージを配置することが含まれます。たとえば、「images」という名前のサブディレクトリを作成し、その中に画像ファイルを配置すると、次のリソース パスを使用して画像にアクセスできます:

java.net.URL imgURL = getClass().getResource("/images/my_image.png");

先頭のスラッシュ '/' に注意してください。リソース パスは、イメージがクラスパスのルート (プロジェクトの最上位ディレクトリ) にあることを示します。

以上がgetClass().getResource() が画像のロードに失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。