[Java] ImageIcon geht in .jar nicht!

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von unix, 30. März 2010 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 30. März 2010
    ImageIcon geht in .jar nicht!

    Hey, hab mal wieder ein Problem mit den imageIcons ! xD

    also in eclipse geht alles! ^^
    Aber wenn ich das Projekt exportiere, zeigt er mir die Bilder nicht mehr an (sind nur 2 Stück).

    Hier mal kurz der Sourceausschnitt:

    Code:
    [B] if (crc3.equals(crc1)) {
     GUI.faillabel.setIcon(new ImageIcon("./images/haken.gif"));
     } else {
     GUI.faillabel.setIcon(new ImageIcon("./images/kreuz.gif"));
     }[/B]
    
    Dann die Ordnerstruktur vom Projekt:
    bin
    images
    src
    lib

    Aber wenn ich den Mist exportiere, befindet sich in der .jar kein Ordner images! Und die Bilder werden nicht angezeigt!

    Ein Kollege meinte dann, ich soll den Ordner images in den src Ordner verschieben und es dann versuchen!

    Gesagt getan, aber wenn ich die .jar erstelle befindet sich der Images Ordner zwar in der jar, aber Bilder werden immernoch nich angezeigt xD

    Kann einer helfen? ^^
     
  2. 30. März 2010
    AW: ImageIcon geht in .jar nicht!

    java.net.URL imageURL = myDemo.class.getResource("images/myImage.gif");
    ...
    if (imageURL != null) {
    ImageIcon icon = new ImageIcon(imageURL);
    }

    probiers mal damit

    quelle
     
  3. 30. März 2010
    AW: ImageIcon geht in .jar nicht!

    Keine Punkte machen!
    Wenn du ein ImageIcon anlegst, geht Java immer vom Projektpfad aus, bzw von dem wo das Jar File liegt!

    Heißt auf Deutsch befindet sich dein projekt unter c:/temp
    und das haken.gif ebenfalls kannst einfach so machen:
    Code:
    GUI.faillabel.setIcon(new ImageIcon("haken.gif"));
    
    liegt ein Ordner dazwischen wie bei dir:
    Code:
    GUI.faillabel.setIcon(new ImageIcon("images/haken.gif"));
    
    EDIT:
    Wobei das Problem warum es mit dem Jar File nicht geht ist, dass sich der Punkt auf das aktuelle Verzeichnis bezieht - Ein jar File ist ein Archiv (Vergleichbar mit zip), wahrsch. wird es als Ordner interpretiert und sucht in dem Jar File nach dem Bild!

    Zum Vorposter - Pfui - umständlich
    Warum einfach wenns auch kompliziert geht nicht ?

    ImageIcon nimmt nur Absolute Pfade von C:/.... beginnend oder vom Projektpfad aus an!
    Weiters bitte nie vergessen das \ absolut tabu sind sollte aber für Unix user kein Problem darstellen
     
  4. 30. März 2010
    AW: ImageIcon geht in .jar nicht!

    Also ich mach das auch so wie micro86 und mal im ernst, das ist doch nicht umständlich...wenn man sich sicher ist, dass das Bild existiert kann man ja sogar das if weglassen und es auf
    verkürzen.
     
  5. 10. April 2010
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: ImageIcon geht in .jar nicht!

    hhmm, es geht immernoch nich xD

    Habs jetzt so:

    Der Code: (wurde mitm Visual Editor gemacht)

    Code:
     private JPanel getJContentPane() {
     if (jContentPane == null) {
     jLabel = new JLabel();
     jLabel.setText("JLabel");
     jLabel.setBounds(new Rectangle(0, 0, 1034, 632));
    // URL bildURL1 = getClass().getResource("./images/wall.jpg"); NIX
    // Icon icon = new ImageIcon(getClass().getResource("./images/wall.jpg")) ; NULLPOINTER
    // Icon icon = new ImageIcon(("/images/wall.jpg")) ; NIX
     Icon icon = new ImageIcon(("./images/wall.jpg")) ;//Wird in eclipse angezeigt sonst nich!
     jLabel.setIcon(icon);
     jContentPane = new JPanel();
     jContentPane.setLayout(null);
     jContentPane.add(jLabel, null);
     jContentPane.add(getJPasswordField(), null);
     jContentPane.add(getJButton(), null);
     jContentPane.add(getJButton1(), null);
     }
     return jContentPane;
     }
    So is die Ordner Hierarchie:

    Bild

    Und egal wie ichs exportiere, die Bilder sind nicht in der .jar enthalten!!!
     
  6. 10. April 2010
    AW: ImageIcon geht in .jar nicht!

    Code:
    URL bildURL1 = getClass().getResource("/images/wall.jpg");
    Absolute Pfade verwenden, dann sollte es klappen.
     
  7. 10. April 2010
    AW: ImageIcon geht in .jar nicht!

    Achso du willst die Bilder ins Jar File miteinbinden?!

    das kannst du im nachhinein machen in dem du mit einem Archivierer deiner wahl das Jar Archiv öffnes (7-Zip, Winrar usw.)
    Oder du belässt die Bilder außerhalb des jar Files und änderst die Pfade in den ImagIcons um, wie in meinem obigen Post beschrieben!
     
  8. 10. April 2010
    AW: ImageIcon geht in .jar nicht!

    Normalerweise wird alles, was im src-Ordner ist automatisch mit eingebunden. Veschiebs einfach mal dahinein.
     
  9. 10. April 2010
    AW: ImageIcon geht in .jar nicht!

    OK, wenn man die images in den src. Ordner packt gehts!!!

    Vielen Dank!
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.