Computerhilfen.de Logo
Forum
Tipps
News

Applet - Archiveinbindung

Hallo allerseits,

folgendes Problem:
Ich habe ein Applet geschrieben, welches alle class-Dateien und eine Bilddatei aus einem Java-Archiv einlesen soll.
Am Ende stehen somit die "start.htm" und das Archiv "archiv.jar".
In dem Archiv befinden sich 15 class-Dateien und eine Bilddatei.
Wenn ich das Applet im Browser aufrufe, dann funktioniert es einwandfrei

ABER

Wenn ich das Applet mit dem appletviewer aufrufe (start.htm), dann läd er das Bild nicht! Alle Klassen sind verfügbar - NUR das Bild nicht. Komischerweise funktioniert es mit dem Appletviewer, sobald ich die Bilddatei separat in das gleiche Verzeichnis wie die "start.htm" lege (dir: start.htm; archiv.jar; bild.jpg)

Das Bild wird in der Klasse mit "getCodeBase()" aufgerufen. Das müsste für das Archiv korrekt sein. mit "getDocumentBase()" passiert der gleiche Wirrwar.

Warum ich frage wenn es doch im Browser geht?
Mein Prof will es unbedingt im Appletviewer ansehen.

Liegt es am Appletviewer/Browser oder bin ich schuld?

mfg Chubby


Antworten zu Applet - Archiveinbindung:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ich hab's glücklicherweise selber gefunden^^

wenn ich die "getCodeBase()" bzw. "getDocumentBase()" durch "getClass.getResource()" ersetze funktioniert es überall einwandfrei.

Vielleicht hilft das auch jemandem außer mir weiter ;-)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Joa, weil getResource() auf das .jar File zugreift (sofern es vorhanden ist) und getCodeBase() etc. auf den Pfad zugreift wo es liegt, somti muesstest du es entpackt im Ordner liegen haben, dann kann es aber jeder lesen, beim .jar File muessten sie es schon mit WinRar oeffnen^^.

Noch ein Tipp, falls nicht jeder deine Ressourcen stehlen koennen soll:
Verschluessle deine Bilder (mit XOR oder beliebig anders) und lade sie dann in das .jar File hinein.
Erstelle mit File.createTemporaryFile(); fuer jede Datei noch eine Datei, und entschluessle sie am Computer in die Temporary Datei, und verwende die^^.

Das is aber nur wenn du wirklich was hast was keiner haben soll^^.

Ausserdem wirst du dann wahrscheinlich ein Rechte-Problem kriegen, also weil du auf en PC schreiben willst, somit muesstest du ein Applet Signieren^^.

Aber das ist eine andere Geschichte, falls es dich jedoch noch wirklich interessiert wie man ein Applet signiert, dann sag es ich hab mal ne Anleitung geschrieben, die ich noch irgendwo auf einem meiner Server liegen habe.

mfg.
Fuxi

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ich bin zwar noch Java-Lehrling, aber je mehr ich darüber erfahre, desto besser^^

Wenn du mir die Anleitung raussuchen könntest wäre ich dir echt dankbar ;-)

mfg Eric

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Also okay ich hab die Datei an den Post angehaengt. Es duerfen alle runterladen, mir is egal was damit passiert.

Sie is von mir selbst geschrieben, Rechtschreibfehler und sonstiges sind mir komplett egal, da es eine Art "Notiz" fuer MICH ist, nur nicht fuer andere Leute gedacht war.

Gut, und jetzt hab ich entdeckt das nur Bilder angefuegt werden duerfen. Macht auch nichts, ich habs in ein Bild umbenannt. Die originale Endung ist ".doc". Also Bild runterladen, und auf doc aendern, dann oeffnen und lesen.

mfg.
Fuxi 

« Letzte Änderung: 09.03.08, 00:30:42 von Fuxi »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Merci beaucoup :)


« Hochkomma in AnführungszeichenWie bringt man .java Dateien zum laufen ? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!