Programm fertig stellen, Jar mit Bildern

mathiasj

Bekanntes Mitglied
Hallo,
ich habe jetzt ein Programm fertig geschrieben, und hätte ein paar Fragen.

Ich habe nach meinem Buch die .class Dateien in einen Ordner namens classes gelegt, und die .java Dateien in einen Ordner source. Doch bei mir gibt es noch andere Dateien, die auf .~ava enden. Was soll ich damit tun? Und wo kommen die Ordner mit den Bildern hin?

Als ich dann die .~ava und die Bilder weggelassen habe und ein JAR File erstellen wollte kam in der Eingabeaufforderung die Fehlermeldung, dass der Befehl jar nicht existiert. Mir ist auch aufgefallen, dass ich nicht mithilfe der Eingabeaufforderung kompilieren kann - selbe Fehlermeldung bei javac. Und ja, ich habe den Classpath gesetzt... Wenn ich den Ordner Java öffne, sehe ich die beiden Ordner jdk1.7.0_10 und jre 7. Das ist doch richtig, oder?

LG,
mathiasj
 
Wenn bei javac der Fehler kommt, dass der Befehl nicht gefunden wurde ist der PATH nicht richtig gesetzt. Mit dem Classpath hat das nichts zutun.

NAME.~ava kenne ich von gewissen Texteditoren, welche sich solche Dateien als Temp-Dateien anlegen.
 
Ja, ich meine den Path, hab das falsche geschrieben. Also, ich habe bei den erweiterten Systemeinstellungen C:\Programme\Java\jdk1.7.0_10\bin angegeben. Im bin-Ordner befindet sich auch javac. Aber irgendwie funktioniert das nicht.

Und die .~ava Dateien soll ich dann einfach weglassen?
 
So, den Fehler von der Path-Variable habe ich jetzt gefunden. Ich hbe "Programme" anstatt "Program Files" geschrieben... Ich bin echt dumm...

Aber ich weiß trotzdem nicht, was ich jetzt it den .~ava Dateien machen soll, und wo der Ordner mit den Bildern hinkommt. Aber trotzdem schon mal vielen Dank!
 
Zuletzt bearbeitet:
Okay, danke!

Ud habe ich Recht mit meiner Vermutung, dass der Ordner von den Bildern im selben Verzeichnis sein muss, wo das .jar ist?
 
Du kannst die Bilder mit in die .jar packen oder wohin du willst. Wenn du die Bilder mit Relativen Pfaden ansprichst musst du beachten, dass der Working-Dir immer der Ordner ist, von dem du aus "java" aufgerufen hast.
 
Achso, das heißt wenn ich im Programmieren Ordner das Bild abspeichere, dass Programm aber in Programmieren\MeinProjekt liegt, dann findet es das Bild nicht?

Und wie kann ich denn auch Bilder ind das .jar packen? Also ich habe jetzt mit jar -cvmf manifest.txt Anw.jar *.class gearbeitet...
 
Du kannst ein .jar-Archiv mit WinRAR öffnen.

Nehmen wir mal folgende Ordnerstruktur:

Code:
Ordner
Ordner/Ordner2
Ordner/Ordner2/Ordner3
In Ordner3 liegen deine Bilder und die jar.

wenn du dich jetzt mit der cmd in Ordner3 befindest startest du die jar mit:
java -jar bla.jar
Und die Bilder werden einfach mit bild.jpg angesprochen.

Befindest du dich mit der cmd allerdings in Ordner startest du die .jar mit:
java -jar Ordner2/Ordner3/bla.jar
Und die Bilder kannst du mit Ordner2/Ordner3/bild.jpg ansprechen.
 
Wenn ich die Bilder mit ins .jar gebe, welchen Pfad muss ich dann bei Image icon = new ImageIcon("Pfad").getImage(); angeben?

Also du kannst schreiben
Java:
Image icon = new ImageIcon(getClass().getResource("Pfad")).getImage();
oder
Java:
Image icon = ImageIO.read(getClass().getResource("Pfad"));

Wenn du getResource verwendest ist es egal ob sich die Bilder in der jar Datei befinden oder in einem Ordner.
 
Okay...
Aber kann ich auch einfach mit dem Code den ich schon geschrieben habe,also Image icon = new ImageIcon("Bild.jpg").getImage(); , das Bild aus der .jar starten? Wo muss ich dann Bild.jpg in die .jar legen?
 
Nein, das geht nicht. In dem Fall wird das Bild in der lokalen Verzeichnisebene gesucht.
...hättest du meinen Link gelesen... :bahnhof:

Und DrZoidberg hat dir auch bereits entscheidende Hinweise geliefert.
 

Neue Themen


Zurück
Oben