Maison > Java > javaDidacticiel > Pourquoi les images ne s'affichent-elles pas dans mon JAR exécutable exporté Eclipse ?

Pourquoi les images ne s'affichent-elles pas dans mon JAR exécutable exporté Eclipse ?

Mary-Kate Olsen
Libérer: 2024-11-24 08:26:11
original
767 Les gens l'ont consulté

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

Le JAR exécutable exporté par Eclipse n'affiche pas les images

Lors de la tentative de chargement d'images à partir d'un fichier JAR exporté depuis Eclipse, les utilisateurs peuvent rencontrer des problèmes où le les images ne s'affichent pas.

Pour résoudre ce problème, assurez-vous que suivant :

1. Emplacement de la ressource d'image :

  • Confirmez que les images sont correctement regroupées dans un package de classe de ressources. ≪/li>
  • Vous pouvez également essayer de créer un "dossier source d'images" et d'y placer les images.
  • 2. Méthode de chargement de l'image :

    Vérifiez la méthode de chargement de l'image utilisée. Les méthodes suivantes ont été testées avec succès :

    label.setIcon(new ImageIcon(MainFrame.class.getResource("/resources/header.jpg")));
    Copier après la connexion
    URL url = getClass().getResource("/resources/header.jpg");
    Image image = Toolkit.getDefaultToolkit().getImage(url);
    label.setIcon(new ImageIcon(image));
    Copier après la connexion
    try
    {
        label.setIcon(new  ImageIcon(ImageIO.read(getClass().getResource("/resources/header.jpg"))));
    }
    catch (IOException e1)
    {
        e1.printStackTrace();
    }
    Copier après la connexion

    3. Configuration du chemin de construction :

    Si les ressources ne se trouvent pas directement dans le dossier source, assurez-vous qu'elles sont incluses dans le chemin de construction :

  • Cliquez avec le bouton droit sur le projet et sélectionnez "Chemin de construction" > "Configurer le chemin de construction". ≪/li>
  • Dans l'onglet "Sources", cliquez sur "Ajouter un dossier" et accédez au dossier des ressources. ≪/li>
  • Cela ajoutera le contenu du dossier de ressources au chemin de construction.
  • 4. Configuration d'exécution :

    Lors de l'exportation en tant que JAR exécutable, sélectionnez la configuration d'exécution appropriée. Cette configuration doit correspondre à la classe principale que vous exécutez dans Eclipse.

    5. Fichier manifeste :

    Assurez-vous que le fichier manifeste contient les propriétés suivantes :

    Rsrc-Class-Path: ./
    Class-Path: .
    Rsrc-Main-Class: <main class>
    Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
    Copier après la connexion

    Exemple :

    L'exemple suivant montre comment pour charger avec succès une image nommée "stackoverflow.png" à partir d'un dossier de ressources :

    Fichier Structure :

    - src
      - com.stackoverflow.test
        - Main.java
        - resources
          - stackoverflow.png
    Copier après la connexion

    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);
                }
            });
        }
    }
    Copier après la connexion

    Export :

    Cliquez avec le bouton droit sur le projet et sélectionnez "Exporter" > "Fichier JAR exécutable". Configurez la configuration de lancement appropriée et exportez le JAR.

    Résultat :

    L'exécution du JAR exporté devrait afficher l'image "stackoverflow.png" avec succès.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    source:php.cn
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Derniers articles par auteur
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal