Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hey Leute ich habe ein kleines Programm geschrieben welches ich nun als .jar Datei ausführen möchte. Wenn ich einen Doppelklick auf die jar Datei mache öffnet sich zwar das Programm allerdings ist dieses verbuggt. Buttons lassen sich nicht drücken und eigentlich unsichtbare Textfelder und Buttons sind teilweise sichtbar. Wenn ich die Datei über cmd mit Java -jar Dateiname öffne läuft mein Programm einwandfrei, alles funktioniert wie es soll und ich bekomme auch keine Fehlermeldung.
Edit: anscheinend liegt es daran, dass das Programm auf .txt Dateien zugreift und diese anscheinend nicht erkennt. Aber wie kann es sein, dass sie bei der Ausführung mit cmd erkannt werden und normal nicht?
Am liebsten würde ich die .txt Datei auch direkt in der .jar Datei verwenden allerdings komme ich dort nicht weiter und so wie es im Netz steht mit "./Datei.txt" klappt es nicht
Nein ich habe die jar Datei auf dem Desktop und die Text Datei in einem Ordner auf dem Desktop. Bei einem Doppelklick erkennt das Programm die Textdatei nicht und wenn ich md über die Suchfunktion öffne und Java -jar Desktop/dieJar.jar eingebe findet das Programm die Textdateien.
Ahh. Das erklärt warum es nicht funktioniert. In der CMD ist das Arbeitsverzeichnis das wohin man sich per "cd" begibt. Von dort aus werden relative Pfadangaben aufgelöst.
Wenn man auf die jar doppelklickt, ist das Arbeitsverzeichnis das Verzeichnis wo die jar drin liegt.
Der absolute Pfad der Datei lautet:
Code:
c:\Users\Nutzername\Desktop\Ordnername\Datei.txt
Die Textdatei wird im Code per relativer Pfadangabe gesucht: "Desktop\Ordnername\Datei.txt"
Das heisst der absolute Pfad ist: Arbeitsverzeichnis+"/"+RelativerPfad
Daraus folgt, dass es per CMD nur funktioniert, wenn man per "cd" in das Verzeichnis: "c:\Users\Nutzername\" wechselt. Startet man nun das Java Programm von hier aus (java -jar egal/wo/die/jar/liegt/dieJar.jar) ist "c:\Users\Nutzername\" das Arbeitsverzeichnis. Die relative Pfadangabe zur Datei.txt kann nun aufgelöst werden: "c:\Users\Nutzername\" + "Desktop\Ordnername\Datei.txt"
Wie oben erwähnt geht das hier nicht, wenn man per Doppelklick startet. Das Arbeitsverzeichnis ist dann: "c:\Users\Nutzername\Desktop\" (denn dort befindet sich ja die jar). Die Pfadangabe zur Datei.txt kann nicht aufgelöst werden. Es würde an dieser Stelle gesucht: "c:\Users\Nutzername\Desktop\" + "Desktop\Ordnername\Datei.txt"