Javaprogramm mit Bildern als .jar-Datei exportieren(in Eclipse)

M

Mr. Q

Gast
Guten Tag,

ich habe ein Java Programm geschrieben, das mit Buttons arbeitet, die mit Bildern belegt sind.
Das Programm funktioniert wunderbar und ich will es jetzt kompilieren, so dass ich nur noch eine .jar-Datei habe in der dann alles drin ist. Ich kann auch ein "Runnable JAR file" exportieren, das zeigt die Bilder aber nur auf meinem Rechner an weil der Pfad zu den Bildern absolut ist und die Bilder nicht mitexportiert werden.

Ich habe auch durchaus einige Beiträge zu diesem Thema gefunden, bin aber nicht ganz schlau draus geworden.

Situation:
Ich verwende Eclipse auf einem Linuxsystem.
So werden die Bilder momentan geladen:
Java:
ImageIcon spieler2 = new ImageIcon("/home/mrq/Desktop/JBilder/Cola.jpeg");

Verzeichnisstruktur:
Code:
Workspace
  '--Projektname
      '--bin
          '--Packetname
                '--Dateien.class
      '--src
          '--Packetname
                '--Dateien.java

Wo müssen die Bilddateien hin?
Wie müssen die Bilddateien geladen werden?
 

Volvagia

Top Contributor
Benutze Class.getResource() oder Class.getResourceAsStream().
Die Bilder müssen, soweit ich mich errinnere im bin-Ordner. Aber mit ein wenig experimentieren wirst du schon alleine dahinter kommen.
 
M

Mr. Q

Gast
Danke erstmal für die schnelle Antwort.

Habe die Bilder mal nach "bin" zu Dateien.class verschoben
Java:
ImageIcon spieler2 = new ImageIcon(Class.getResource("Cola.jpeg"));
liefert:
"Multiple markers at this line
- Cannot make a static reference to the non-static method getResource(String) from the type Class
- Class is a raw type. References to generic type Class<T> should be parameterized"

Java:
ImageIcon spieler2 = new ImageIcon(Class.getResourceAsStream("Cola.jpeg"));
liefert:
"Multiple markers at this line
- The constructor ImageIcon(InputStream) is undefined
- Class is a raw type. References to generic type Class<T> should be parameterized
- Cannot make a static reference to the non-static method getResourceAsStream(String) from the type
Class"
 

Volvagia

Top Contributor
Die beiden Methoden sind nicht static. Du musst dir allso eine Class-Instance besorgen. (getClass())
Und Class ist generisch, also gibst du am besten immer <?> an.

Sollte also in etwa so aussehen:

Java:
Class<?> aClass = new Object().getClass(); //"class" ist ein reservierter primitiver Typ!
URL imgUrl = aClass.getRessource("/Cola.jpeg");
ImageIcon spieler2 = new ImageIcon(imgUrl);

Statt einer neuen Object-Instance kannst (und solltest) du natürlich auch die Klasse der Instance der Methode verwenden. Wenn dus in einer statischen Methode ausführst brauchst du natürlich irgend eine andere Instance von der du dir eine Class hohlen kannst.
 
M

Mr. Q

Gast
ok, jetzt gibt es schon mal keine warnings und errors mehr, dafür aber eine Fehlermeldung:

"Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:155)
at test.packet.XXOJButton.<init>(XXOJButton.java:23)
at test.packet.View.<init>(View.java:44)
at test.packet.Controller.main(Controller.java:9)"

und das habe ich ins Programm geschrieben(es handelt sich um 2 Bilder, daher leicht verändert):

Java:
	Class<?> aClass = new Object().getClass(); //"class" ist ein reservierter primitiver Typ!
	URL aimgUrl = aClass.getResource("/Bionade.png");
	ImageIcon spieler1 = new ImageIcon(aimgUrl);        //Das ist XXOJButton, Zeile 23
	

	Class<?> bClass = new Object().getClass(); //"class" ist ein reservierter primitiver Typ!
	URL bimgUrl = bClass.getResource("/Cola.jpeg");
	ImageIcon spieler2 = new ImageIcon(bimgUrl);
Der Code steht in XXOJButton.java, die Zeile aus der Fehlermeldung habe ich oben eingetragen. Kann es sein, dass er das Bild nicht findet?
 
T

Tomate_Salat

Gast
Wo liegen den deine Bilder?

Edit
Ich hab hier mal im Anhang ein Beispiel mit sourcecode hinterlegt
 

Anhänge

  • ImageLoader.jar
    9 KB · Aufrufe: 82
Zuletzt bearbeitet von einem Moderator:
M

Mr. Q

Gast
Die Bilder liegen wiefolgt:

workspace/Projektname/bin/Paketname/Cola.jpeg
workspace/Projektname/bin/Paketname/Bionade.jpeg

ich hab sie auch mal überall rumverschoben, das hat aber nichts gebracht.


Dein Beispielprogramm kann ich leider nicht ausführen. Ich habe es einmal nachgebaut und erhalte die gleiche Fehlermeldung wie bei meinem. Wo muss denn da das Bild abgelegt werden?
 
T

Tomate_Salat

Gast
leg mal die bilder in
workspace/Projektname/src/Paketname/Bionade.jpeg

und rufe sie über den Pfad [c]/Paketname/BILDNAME.ENDUNG[/c]

MFG

Tomate_Salat
 
M

Mr. Q

Gast
So, es klappt jetzt irgendwie doch und nur wenn die Dateien im bin-Verzeichnis liegen.
Wahrscheinlich hab ich den Pfad bisher immer falsch gesetzt, vielen Dank für den Hinweis.

Ich kann das Projekt jetzt problemlos "runnen" d.h. testen und auch exportieren. Wenn ich die jar-Datei dann aber ausführbar mache und doppelklicke passiert nichts. Wenn ich das Label mit Text belege funktioniert es aber.
Außerdem enthält die jar-Datei keine Bilder so wie die Beispiel-Datei.

Wie exportiere ich das richtig?

Bisher mach ich das so:

File -> export...

"Select..." wird angezeigt
Java, "Runnable JAR file, next

Specification wird angezeigt
Launch Configuration-> das Projekt auswählen
Export destination -> Ort festlegen

Library handling: "Extract..." auswählen.

Edit:
Wenn man die Bilder nachträglich dazupackt funktionierts.
Weiß jemand ob Eclipse dazu zu bringen ist gleich alles zusammenzupacken?
 
Zuletzt bearbeitet von einem Moderator:
M

Mad0x

Gast
Wie funktioniert das denn mit z.B. Videos?
Ich hab's mal so versucht:
Java:
InputStream  Video = (getClass().getResourceAsStream(
	"Video/Intro.avi"));
Es exportiert das Video zwar mit, jedoch lässt sich die .jar-Datei nicht öffnen. An was liegt das?
Danach möchte ich das Video eben mit einem ProcessBuilder abspielen, das funktioniert dann so:
Java:
static ProcessBuilder VideoPlayer = new ProcessBuilder("cmd.exe", "/c","Video/Naruto AMVFINAL_mjpeg_001.avi" );
VideoPlayer.start();

Kann hier jemand helfen? :S
 
M

Mad0x

Gast
Wie funktioniert das denn mit z.B. Videos?
Ich hab's mal so versucht:
Java:
InputStream  Video = (getClass().getResourceAsStream(
	"Video/Intro.avi"));
Es exportiert das Video zwar mit, jedoch lässt sich die .jar-Datei nicht öffnen. An was liegt das?
Danach möchte ich das Video eben mit einem ProcessBuilder abspielen, das funktioniert dann so:
Java:
static ProcessBuilder VideoPlayer = new ProcessBuilder("cmd.exe", "/c","Video/Naruto AMVFINAL_mjpeg_001.avi" );
VideoPlayer.start();

Kann hier jemand helfen? :S

Kann leider nicht mehr editieren.. Aber im 2. Programmschnipsel heisst es natürlich auch Intro.avi ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
hebein Mit Javaprogramm webseiten automatisiert befüllen und ausführen Java Basics - Anfänger-Themen 6
L Hilfe bei Javaprogramm. Java Basics - Anfänger-Themen 3
B Könnte jemand über dieses jurze Javaprogramm schauen? Irgendwas funktioniert mit der z-Varible nicht Java Basics - Anfänger-Themen 2
L Javaprogramm nach ausführung des gesammten Cods neu beginnen lassen Java Basics - Anfänger-Themen 9
P Javaprogramm mit einer bestimten Version starten Java Basics - Anfänger-Themen 5
K Erste Schritte Javaprogramm Java Basics - Anfänger-Themen 2
R .txt in mein Javaprogramm hineinschmelzen Java Basics - Anfänger-Themen 6
Q Compiler-Fehler Javaprogramm wird manchmal nicht ausgeführt? Java Basics - Anfänger-Themen 4
S Javaprogramm mit Parameter starten? Java Basics - Anfänger-Themen 21
C Javaprogramm auf der Kommandozeile starten Java Basics - Anfänger-Themen 5
J JavaProgramm als Bildschirmschoner verwenden Java Basics - Anfänger-Themen 10
H javaprogramm mit .exe dateiendung Java Basics - Anfänger-Themen 4
G Javaprogramm auf USB-Stick mit JRE Java Basics - Anfänger-Themen 8
M Javaprogramm darf nur einmal gestartet werden Java Basics - Anfänger-Themen 3
S Fehler in Javaprogramm, was mache ich falsch? Java Basics - Anfänger-Themen 9
A Javaprogramm kann nicht in der Console ausgeführt werden Java Basics - Anfänger-Themen 12
L Probleme beim ersten JavaProgramm! Java Basics - Anfänger-Themen 4
V Javaprogramm aus einem anderen Javaprogramm aufrufen Java Basics - Anfänger-Themen 4
U Exe aus Javaprogramm erstellen Java Basics - Anfänger-Themen 14
G Mit Javaprogramm Outlook öffnen Java Basics - Anfänger-Themen 5
7 Javaprogramm anhalten Java Basics - Anfänger-Themen 10
V Wie beende ich ein Javaprogramm Java Basics - Anfänger-Themen 4
Spandeli8 Erzeugte Objekte gegenüber Bildern hervorheben in Java Processing Java Basics - Anfänger-Themen 1
G Einbinden von Bildern in ausführbare Jar-Datei Java Basics - Anfänger-Themen 25
J Interface Einlesen von Bildern mithilfe von URL zu langsam Java Basics - Anfänger-Themen 5
S Jar Datei mit Bildern Java Basics - Anfänger-Themen 22
J Menü mit mehreren Bildern Java Basics - Anfänger-Themen 5
M Programm fertig stellen, Jar mit Bildern Java Basics - Anfänger-Themen 14
Spin Blatt mit Bildern füllen Java Basics - Anfänger-Themen 5
M Problem mit null pinterexception beim laden von Bildern Java Basics - Anfänger-Themen 20
P Erste Schritte Navigation mit wechselnden Bildern ... Java Basics - Anfänger-Themen 2
D .jar erstellen (mit Bildern) Java Basics - Anfänger-Themen 5
K einfaches Drucken von Text (und ggf Bildern,gemischt) Java Basics - Anfänger-Themen 11
M Java-Prog soll Texte innerhalb Bildern erkennen Java Basics - Anfänger-Themen 2
N Grafische Programmierung mit jeweils anderen Bildern bei versch. Ergebnissen Java Basics - Anfänger-Themen 9
S Bilder der Diashow werden in anderen Bildern angezeigt Java Basics - Anfänger-Themen 3
H Probleme mit .Jar in Verbindung mit Bildern Java Basics - Anfänger-Themen 10
D Auflösung (dpi) von TIFF und PNG Bildern auslesen Java Basics - Anfänger-Themen 9
N auswertung von bildern Java Basics - Anfänger-Themen 14
Piwi Relative Pfadangabe bei Bildern Java Basics - Anfänger-Themen 2
F Unterschied im Einfügen von Bildern in Applets vs Applications Java Basics - Anfänger-Themen 6
P [Positiv Erledigt] Ordner mit Bildern auslesen und diese speichern Java Basics - Anfänger-Themen 7
N this beim einlesen von bildern Java Basics - Anfänger-Themen 4
D Wasserzeichen in Bildern Java Basics - Anfänger-Themen 16
G Verzeichnis auslesen mit sehr sehr vielen Bildern Java Basics - Anfänger-Themen 6
B Stack mit Bildern füllen Java Basics - Anfänger-Themen 2
S java.lang.NullPointerException bei Bildern Java Basics - Anfänger-Themen 13
B Fragen zu JAR mit Bildern Java Basics - Anfänger-Themen 4
B Problem beim Laden von Bildern mit AWT Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
E Audio Datei unter Bedingungen ausführen Java Basics - Anfänger-Themen 19
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
A exe Datei erstellen Java Basics - Anfänger-Themen 8
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
P Aus Text Datei nur Zahlen übernehmen Java Basics - Anfänger-Themen 13
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
W Fehler in der Datei pom.xml Java Basics - Anfänger-Themen 19
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
D Jar Datei startet unter Linux nicht Java Basics - Anfänger-Themen 3
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
E TIF Datei auslesen Java Basics - Anfänger-Themen 2
B von Java/Eclipse verwendete Datei existiert gar nicht? Java Basics - Anfänger-Themen 6
M Spezifischen Wert einer Zeile aus .txt Datei entnehmen Java Basics - Anfänger-Themen 15
B Popups mit Klicksabfangen zumAusfüllen einer .ods Datei Java Basics - Anfänger-Themen 0
M Daten aus .txt Datei einlesen und weiterverarbeiten Java Basics - Anfänger-Themen 80
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
I Datei (Bild) Drucken und wie Druckeinstellung speichern? Java Basics - Anfänger-Themen 3
A CSV-Datei Verarbeiten Java Basics - Anfänger-Themen 8
D Downloadfortschritt von Datei über Google Drive API v3 Java Basics - Anfänger-Themen 10
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
S In Datei schreiben in Java? Java Basics - Anfänger-Themen 1
Saiko Zeilen einer Datei einlesen Java Basics - Anfänger-Themen 3
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
sserio Txt Datei einlesen Java Basics - Anfänger-Themen 9
T Printwriter Datei nicht überschreiben Java Basics - Anfänger-Themen 10
berserkerdq2 An selbst ersteller txt Datei immer Text dranhängen, ohne den vorherign Text zu löschen Java Basics - Anfänger-Themen 8
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
D Strings aus Excel-Datei einlesen Java Basics - Anfänger-Themen 2
M Text in Datei schreiben Java Basics - Anfänger-Themen 9
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
J selbst erstellte Datei mit Programm öffnen Java Basics - Anfänger-Themen 10
J int innerhalb einer Datei ändern Java Basics - Anfänger-Themen 1
T208 Text Datei individuell benennen. Java Basics - Anfänger-Themen 5
julian112 Input/Output .gz bzw. .txt Datei Einlesen und Umgang mit Exceptions Java Basics - Anfänger-Themen 1
F Aus eingelesener Datei korrekt Objekte erzeugen Java Basics - Anfänger-Themen 5
E extern Datei von meinem Computer aufmachen Java Basics - Anfänger-Themen 5
H Scripte oder Programmcode aus Datei lesen? Java Basics - Anfänger-Themen 5
E PDF Datei im xfdf-Datei umwandeln und auf dem Laufwerk ablegen Java Basics - Anfänger-Themen 0
J CSV-Datei verarbeiten Java Basics - Anfänger-Themen 27
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
nbergmann Installation unter jdk.java.net: Keine ZIP-Datei zum entpacken Java Basics - Anfänger-Themen 2
J Datei aus Netzwerk auslesen Java Basics - Anfänger-Themen 9
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben