Jar-Bilder

Von: , Frage gestellt am Sa, 2. Sep 2006

Hallo,
Ich hab ein Programm geschrieben, in dem Bilder (gifs) angezeigt werden. Wenn ich die in den WorkingFolder lege und das Programm dann mit BlueJ (Ein Java-Editor) starte, werden die Bilder richtig angezeigt.
Wenn ich jetzt aber eine Jar-Datei mit BlueJ daraus erstelle, greift er nicht auf die Bilder im Jar-Archiv zu, sondern will die Bilder auf der gleichen Ebene wie das Jar-Archiv liegen haben.
Ich möchte aber, dass mein Programm nur aus einer Jar-Datei besteht, weiß vielleicht jemand von euch, wie ich mein Programm dazu bringe, dass es auf die Bilder im Jar-Archiv zugreift?

Vielen Dank für eine Antwort
Manfred

4 Antworten zu dieser Frage

  1. Antwort von nach 14 Minuten 0 hilfreich
    Re: Jar-Bilder

    Auch hallo.

    Mit BlueJ müsste es doch möglich sein die gif Dateien der zu generierenden jar-Datei hinzuzufügen. Dann sollte die Geschichte unabhängig vom Pfad sein.

    HTH
    mfg M.L.

  2. Antwort von nach 14 Stunden 0 hilfreich
    Re: Jar-Bilder

    Hallo Manfred, Wenn ich jetzt aber eine Jar-Datei mit BlueJ daraus erstelle,
    greift er nicht auf die Bilder im Jar-Archiv zu, sondern will
    die Bilder auf der gleichen Ebene wie das Jar-Archiv liegen
    haben.
    Die Bilder werden von dem Programm immer über den Dateipfad geladen. Wenn Du das Programm ändern kannst, dann lade die Bilder aus dem Klassenpfad. Also mit getClassLoader().getResource("/package/name/to/image.gif"). Das Bilder sollte dann im package package.name.to
    Siehe dazu auch http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Cl...

    Unter BlueJ vermute ich, dass die Bilder zwar auch im Klassenpfad liege, aber dieser als Dateisystem direkt vorliegt.

    Gruß,
    Frank

    • Antwort von nach 15 Stunden 0 hilfreich
      Re^2: Jar-Bilder

      Hallo Frank,
      vielen Dank für deine Antwort.
      Du meintest irgendwas mit classLoader, leider habe ich noch nicht ganz verstanden, wie ich das einbringen soll.

      In meinem Programm wurden die Bilder bisher so eingebracht:

      Die Klasse heisst EditorExample und das Archiv soll später mal Mathe4.jar heißen. Ich hab nachgeschaut, also die Bilder sind auch im Jar-archiv enthalten, nur greift er so noch nicht drauf zu:

      toolbar.add(createToolbarButton("images\\cut.gif", "Ausschneiden"));
      toolbar.add(createToolbarButton("images\\copy.gif", "Kopieren"));
      toolbar.add(createToolbarButton("images\\paste.gif", "Einfügen"));

      Könntest du mir vielleicht einen Code-Schnipsel zuschicken, wie ich die Bilder nun in das Programm lade?

      Vielen Dank für deine Antwort
      Manfred

      • Antwort von nach 7 Tagen 0 hilfreich
        Re^3: Jar-Bilder

        Moin Manfred,

        In Deinem Code greift Dein Javaprogramm logischerweise noch auf ein ungepacktes Archiv von Bildern zu.
        Um die Bilder auch im Jar-File ersichtlich zu machen,
        musst Du mit dem Classloader arbeiten, wie schon angesprochen:

        ClassLoader.getSystemResource("/OrdnerZuDenBildern/MeinBild.jpg")

        Dabei muss die Ordner-Hierarchie exakt übereinstimmen, mit vorangestelltem Slash.

        Gruss,
        Puni [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!