Netbeans Build Project... keine Images dabei???

Status
Nicht offen für weitere Antworten.

radiac

Bekanntes Mitglied
Hallo,

hab ein kleines Problem. Habe ein programm gebaut, das in einem Fenster ein Bild anzeigen soll. Das Bild befindet sich im Netbeans-folder (nicht in der Project-ansicht) in einem "src" ordner...

mein COde soll das bild auch aus "src/bild.png" laden. In der IDE funktioniert alles... sobald ich das projekt builde kommt das Bild nicht mehr.

Habe die Jarfile mit Winrar geöffnet... dort ist das Bild einfach so reingeschmissen worden ohne dem src Ordner...
Macht die IDE was falsch???
Wie bekommt mein Code das Bild zu greifen?
 

radiac

Bekanntes Mitglied
Hmm... hab das Problem gelöst... hab in dem ausführbaren Ordner einfach ein Ordner angelegt wo sich die Jar befindet und dort einen src Ordner erstellt. Dann nur noch das Bild rein, und es ging... Diese Methode ist aber irgendwie sinnlos... warum gebe ich dann erst in meinem Code ein Pfad an???

Gibts da bessere Lösungen???
 
M

maki

Gast
Der Fehler leigt bei dir ;)

Glaube kaum, dass du einen src Ordner in deiner Jar hast, abgesehen davon versuchst du wohl das Bild als File und nicht als Stream zu laden.
 

radiac

Bekanntes Mitglied
also momentan wird die Bilddatei als File geladen.

Aber wenn ich das als stream lade, wo ist da der unterschied???
Im endeffekt wird die File doch sowieso wieder genau so geladen...

Zudem ist das ja nur ein Testprogramm...
es soll wirklich nur 1 Bild auf den screen anzeigen.
Tut es ja auch...

nur muss ich eben neben der Jar.file im gleichen Ordner einen neuen Ordner mit Namen src anlegen...
Habe aber schon Java Programme gesehen die alles mit einer exe-FIle laden.
 
G

Gonzo17

Gast
Java:
InputStream stream = getClass().getClassLoader().getResourceAsStream(
				"bild.png");

Wenn du das in deine Klasse schreibst, dann bekommst du einen InputStream. Und ein neues Image kannst du mit diesem InputStream ja erzeugen.
 

radiac

Bekanntes Mitglied
@ maki: Wo befindet sich denn die Datei wenn ich die über einen stream lade?
In einem Zip Archiv? Oder in einem Ordner...

@Gonzo: Das gleiche Frag ich dich :).

Denn Ziel meiner Frage ist, ob man die Bilder (die ja meist das wichtigste für ein Spiel sind und man nicht unbedingt will, das User diese (klauen) oder ändern) verstecken kann.

So zbs. hat man ein Onlinespiel gebaut in dem 2 Männchen rumlaufen und sich abschiessen... beide haben eigentlich eine Tarnfarbe, das man sie nicht auf Anhieb sieht. Jetzt kommt ein User daher und nimmt die Bilddatei raus und ändert ein männchen so, das es signal Rot leuchtet und somit der Gegner ein Vorteil erlangt :).

Nur ein Beispiel... viele kennen ja die Hacks für Counterstrike... Das will ich von der Wurzel meines Spiels vermeiden :).
 
M

maki

Gast
@ maki: Wo befindet sich denn die Datei wenn ich die über einen stream lade?
In einem Zip Archiv? Oder in einem Ordner...
Nochmals: In Zip Archiven (Jars) gibt es keine Dateien, das Zip Archiv ist eine einzige Datei, die viele daten enthält ;)
Deswegen kann man sie auch nicht mit File laden, sondern nur über Streams ;)
 

radiac

Bekanntes Mitglied
@ Maki...

wir reden aneinander vorbei :).

Ich weis das die Jar eine Zipfile ist. Ich weis auch, das in der Zipfiles keine Bilder drinne sind.
Um das Bild da hin zu zaubern, musste ich einen seperaten Ordner anlegen der "Src" heisst, damit das Jar die Bilddatei findet....

Mich stört, das jeder die Bilder einfach so bearbeiten kann mit der Technik...
Gibt es eine Möglichkeit die Daten zu verstecken / Verschlüsseln???
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben