ホームページ >Java >&#&チュートリアル >Eclipse からエクスポートした JAR にイメージをロードできないのはなぜですか?
Eclipse からエクスポートされた JAR でロード可能な画像
Eclipse からエクスポートされた JAR ファイルをロードするときに画像のレンダリングに失敗する場合、イライラすることがあります。エクスポートされた JAR 内にイメージが存在するにもかかわらず、読み込み手法が正しくないために表示されない可能性があります。
リソース パス変数とコード バリエーション
重要な側面の 1 つは、リソースパスの正しい使用。参照されたイメージは、Eclipse の指定されたリソース フォルダー内にパッケージ化するか、プロジェクト構造内のソース コードと一緒に配置する必要があります。
イメージをロードするには、さまざまな方法を利用できます。
label.setIcon(new ImageIcon(MainFrame.class.getResource("/resources/header.jpg")));
URL url = getClass().getResource("/resources/header.jpg"); Image image = Toolkit.getDefaultToolkit().getImage(url); label.setIcon(new ImageIcon(image));
try { label.setIcon(new ImageIcon(ImageIO.read(getClass().getResource("/resources/header.jpg")))); } catch (IOException e1) { e1.printStackTrace(); }
リソースの読み込みの問題を解決する
目的画像のレンダリングに失敗した理由を洞察するには、実際の例との比較が役立つことがわかります。次のセクションでは、トラブルシューティングに役立つ図とステップバイステップのガイドを含むシナリオを示します。
例 1
src 内にリソースがある場合、次の手順に従います。
コード内で、MainFrame クラスと一緒に次のリソース パスを使用します:
URL url = MainFrame.class.getResource("/resources/stackoverflow.png");
例2
src 内にはないがプロジェクトに含まれているリソースの場合:
コード内の画像にアクセスしますが、リソースのプレフィックスを省略します。パス:
URL url = Main.class.getResource("/stackoverflow.png");
起動構成
イメージをロードできるようになったら、 Eclipse 内から起動構成を設定することは、JAR をエクスポートするために重要です。この簡単なプロセスに従って構成を作成します。
検証
エクスポートされた JAR のマニフェストを調べると、次の行が存在する必要があります:
Rsrc-Main-Class: com.stackoverflow.test.Main
展開された JAR には次のファイルが含まれている必要があります構造:
stackoverflow.png (resource file)
以上がEclipse からエクスポートした JAR にイメージをロードできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。