Heim  >  Artikel  >  Java  >  Warum werden Bilder in meinem von Eclipse exportierten ausführbaren JAR nicht angezeigt?

Warum werden Bilder in meinem von Eclipse exportierten ausführbaren JAR nicht angezeigt?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-24 08:26:11743Durchsuche

Why are Images Not Displaying in My Eclipse Exported Runnable JAR?

Eclipse exportiertes ausführbares JAR zeigt keine Bilder an

Beim Versuch, Bilder aus einer aus Eclipse exportierten JAR-Datei zu laden, können Benutzer auf Probleme stoßen, bei denen die Bilder werden nicht angezeigt.

Um dieses Problem zu beheben, stellen Sie sicher, dass Folgendes:

1. Speicherort der Bildressource:

  • Bestätigen Sie, dass die Bilder ordnungsgemäß in einem Ressourcenklassenpaket verpackt sind.
  • Alternativ können Sie versuchen, einen „Bildquellenordner“ zu erstellen und die Bilder dort abzulegen.
  • 2. Methode zum Laden von Bildern:

    Überprüfen Sie die verwendete Methode zum Laden von Bildern. Folgende Methoden wurden erfolgreich getestet:

    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. Build-Pfad-Konfiguration:

    Wenn sich die Ressourcen nicht direkt im Quellordner befinden, stellen Sie sicher, dass sie im Build-Pfad enthalten sind:

  • Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie es aus „Erstellungspfad“ > „Build-Pfad konfigurieren“.
  • Klicken Sie auf der Registerkarte „Quellen“ auf „Ordner hinzufügen“ und navigieren Sie zum Ressourcenordner.
  • Dadurch wird der Inhalt des Ressourcenordners zum Build-Pfad hinzugefügt.
  • 4. Ausführungskonfiguration:

    Wählen Sie beim Exportieren als ausführbares JAR die entsprechende Ausführungskonfiguration aus. Diese Konfiguration sollte mit der Hauptklasse übereinstimmen, die Sie in Eclipse ausführen.

    5. Manifestdatei:

    Stellen Sie sicher, dass die Manifestdatei die folgenden Eigenschaften enthält:

    Rsrc-Class-Path: ./
    Class-Path: .
    Rsrc-Main-Class: <main class>
    Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader

    Beispiel:

    Das folgende Beispiel zeigt, wie So laden Sie erfolgreich ein Bild mit dem Namen „stackoverflow.png“ aus einem Ressourcenordner:

    Datei Struktur:

    - src
      - com.stackoverflow.test
        - Main.java
        - resources
          - stackoverflow.png

    Code:

    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);
                }
            });
        }
    }

    Exportieren:

    Rechtsklick auf das Projekt und wählen Sie „Exportieren“ > „Ausführbare JAR-Datei“. Richten Sie die entsprechende Startkonfiguration ein und exportieren Sie das JAR.

    Ergebnis:

    Beim Ausführen des exportierten JAR sollte das Bild „stackoverflow.png“ erfolgreich angezeigt werden.

    Das obige ist der detaillierte Inhalt vonWarum werden Bilder in meinem von Eclipse exportierten ausführbaren JAR nicht angezeigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn