ホームページ >Java >&#&チュートリアル >Eclipse でエクスポートされた実行可能 JAR にイメージが表示されないのはなぜですか?
Eclipse でエクスポートされた実行可能 JAR でイメージが表示されない
Eclipse からエクスポートされた JAR ファイルからイメージをロードしようとすると、ユーザーが次の問題に遭遇する可能性があります。画像が表示されません。
この問題を解決するには、以下:
1.画像リソースの場所:
2.画像の読み込み方法:
使用されている画像の読み込み方法を確認します。次のメソッドは正常にテストされました:
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(); }
3.ビルド パスの構成:
リソースがソース フォルダーに直接ない場合は、リソースがビルド パスに含まれていることを確認します:
4.実行構成:
実行可能な JAR としてエクスポートする場合は、適切な実行構成を選択します。この設定は、Eclipse で実行しているメイン クラスと一致する必要があります。
5.マニフェスト ファイル:
マニフェスト ファイルに次のプロパティが含まれていることを確認します。
Rsrc-Class-Path: ./ Class-Path: . Rsrc-Main-Class: <main class> Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
例:
次の例は、その方法を示しています。 「stackoverflow.png」という名前の画像をリソースから正常にロードするにはフォルダー:
ファイル構造:
- src - com.stackoverflow.test - Main.java - resources - stackoverflow.png
コード:
package com.stackoverflow.test; import javax.swing.*; public class Main { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable(){ public void run() { URL url = Main.class.getResource("/resources/stackoverflow.png"); ImageIcon icon = new ImageIcon(url); JFrame frame = new JFrame(); frame.add(new JLabel(icon)); frame.pack(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setVisible(true); } }); } }
エクスポート:
プロジェクトを右クリックし、「エクスポート」を選択します> 「実行可能なJARファイル」。適切な起動構成を設定し、JAR をエクスポートします。
結果:
エクスポートされた JAR を実行すると、「stackoverflow.png」イメージが正常に表示されます。
以上がEclipse でエクスポートされた実行可能 JAR にイメージが表示されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。