ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
5190
5190
EMPFEHLEN
-
Hallo,
ich will für mein Programm ein Logo und ein eigenes AppIcon laden.
Aber das ganze soll später als JAR Datei auf den verschiedensten Kisten laufen, sollte der Pfad ja doch irgendwie auch relativ sein.Code :1
Image srLogo = new Image(mainDisplay, "D:/Programme/eclipse/Workspace/ShadowRun/src/Shadowrun_logo.gif");
Nur irgendwie bekomm ich das nicht hin.
Mit
bekomme ich nur die Meldung, dass die Datei nicht gefunden wurde.Code :1 2 3
Image srLogo = new Image(mainDisplay, "Shadowrun_logo.gif"); Image srLogo = new Image(mainDisplay, "./Shadowrun_logo.gif"); Image srLogo = new Image(mainDisplay, "../Shadowrun_logo.gif");
Da ich gerade erst angefangen hab, mir Java selber bei zu bringen, hab ich auch keine wirkliche Idee, wie ich da weiterkommen kann.
Ist es überhaupt möglich, Bilder über relative Pfade zu laden? Und wenn ja, wie macht man das dann?
-
03.06.07 18:56 #2
Hallo,
für einen relativen Pfad nimmst du am Besten Class.getResource, also
Code :1
Image srLogo = new Image(mainDisplay,getClass().getResource("src/Shadowrun_logo.gif"));
das ist dann der Pfad relativ zu der aktuellen Klasse.
-
Hallo,
habe das jetzt mal so ausprobiert, bekomme aber die Meldung:
"Cannot make a static reference to the non-static method getClass() from the type Object".
Normalerweiße hat mir eclipse dann einfach die Option geboten, diese oder jene Variabel/Funktion als "static" zu deklarieren, aber hier mag eclipse nicht.
Und um ganz ehrlich zu sein, ich kenne "static" nur aus C++ für statische Variablen, hab aber keine Ahnung wie sich das bei Java mit Funktionen und non-static, etc. verhält.
Nagut, ich denke, ich muss da mal im Netz suchen und lernen, dann werd ich schon herausfinden, was ich falsch gemacht habe.
Danke und Grüße
Snowman
-
03.06.07 19:37 #4
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
du befindest dich mit diesem Code innerhalb einer statischen Methode... da gibts kein this und deshalb klappt das auch mit getClass() nicht (implizit steht da ja auch this.getClass()). Du musst hier also die Klasse qualifizieren, Bubu.class.getResource(..) um realtiv zu ihr Ressourcen laden zu können.
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Hallo,
ok, das hab ich nun auch probiert:
Was aber zu folgender Fehlermeldung führt:Code :1
Image srLogo = new Image(mainDisplay, PlayerGUI.class.getResource("Shadowrun_logo.gif").toString());
Copy + Paste von dem angegeben Pfad in den Browser und ich sehe das Bild.Code :1 2 3
Exception in thread "main" org.eclipse.swt.SWTException: i/o error (java.io.FileNotFoundException: file:\D:\Programme\eclipse\Workspace\ShadowRun\bin\de\aphol\Shadowrun_logo.gif (Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch))
Also der Pfad stimmt, nur irgendwas passt da trotzdem noch nicht ganz.
Ich hab absolut keine Idee, wie man da jetzt weiterkommt.
-
05.06.07 16:01 #6
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Java rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
Ähnliche Themen
-
relativen in absoluten Pfad umwandeln
Von Jango Qel Droma im Forum JavaAntworten: 4Letzter Beitrag: 19.02.09, 12:04 -
File: relativen Pfad setzten
Von Saskia21 im Forum JavaAntworten: 12Letzter Beitrag: 19.03.08, 15:22 -
Relativen Pfad für eine File finden
Von spaghettiBolognese im Forum JavaAntworten: 2Letzter Beitrag: 09.06.07, 20:55 -
Relativen Pfad der Anwendung ermitteln
Von SeeSharpNewBee im Forum JavaAntworten: 3Letzter Beitrag: 16.01.07, 10:03 -
Relativen Pfad ermitteln
Von Razorhawk im Forum PHPAntworten: 5Letzter Beitrag: 16.11.03, 14:22





Zitieren

Login





