Jar-Bilder
(Autor: M а n f r e d, 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
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
Artikelbaum anzeigen
Re: Jar-Bilder
(Autor: М . L ., Antwort nach 14 Min)
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.
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.
Re: Jar-Bilder
(Autor: F r а n k L і n d e с k е, Antwort nach 14 h, 21 Min)
Hallo Manfred,
Siehe dazu auch http://java.sun.com/j2se/1.4.2/docs/a...(java.lang.String)
Unter BlueJ vermute ich, dass die Bilder zwar auch im Klassenpfad liege, aber dieser als Dateisystem direkt vorliegt.
Gruß,
Frank
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.togreift er nicht auf die Bilder im Jar-Archiv zu, sondern will
die Bilder auf der gleichen Ebene wie das Jar-Archiv liegen
haben.
Siehe dazu auch http://java.sun.com/j2se/1.4.2/docs/a...(java.lang.String)
Unter BlueJ vermute ich, dass die Bilder zwar auch im Klassenpfad liege, aber dieser als Dateisystem direkt vorliegt.
Gruß,
Frank
Re^2: Jar-Bilder
(Autor: Μ a n f r e d, Antwort nach 15 h, 22 Min)
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
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
Re^3: Jar-Bilder
(Autor: Р u n i, Antwort nach 7 Tagen, 13 h, 57 Min)
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
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]
Du kannst auf diesen Artikel nicht antworten.
Dieser Artikelbaum ist im Archiv des Experten-Forums von wer-weiss-was zum Thema "Java" archiviert. Es handelt sich um keine aktuelle Diskussion, daher kann auf die Artikel nicht mehr geantwortet werden.
Folgende Artikel könnten Dich auch interessieren:
Start und 'Programm'-Verzeichnis.jar Datei integrieren
Probleme beim Kompilieren eines Software-Projekts
Zugriff auf Bilder in jar-Archiv
img weg...
dll aus jar datei laden
Problem mit java.comm
JNI: native Methoden statisch mit Java binden?
JAR-Datei
Film aus Java JAR-Archiv extrahieren
Ladeanzeige für Applet
Jar-Datei hochladen
vorheriger Artikelbaum
(Keine Fenster mehr)
(Java mit Kara, dem Marienkäfer, Probleme)
nächster Artikelbaum















