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 サイトの他の関連記事を参照してください。