Ich habe ein Applet programmiert, bei dem ich aus 3 Dateien lese.
2 sind Text Dateien, und 1 ist ein Bild das angezeigt wird.
Das Funzt auch bei vielen verschiedenen Rechnern.
Allerdings habe ich einen ganz hartnäckigen Fall, er benutzt Linux und bekommt immer beim Laden des Bildes eine Security Exception, auf den meisten Windows Rechnern läuft es.
Falls ihr euch das Applet mal anschauen wollt (vielleicht auch unter Linux), dann schaut doch mal hier:
http://Ivan.Russenmafia.net
und net so doll meckern, ich bin kein guter Programmierer 
Gruß Wizard of War
Moin
Ich habe ein Applet programmiert, bei dem ich aus 3 Dateien
lese.
Von wo liest du die Dateien und wie ganu bestimmst du ihre „Addresse“ (Quell-Code) ?
auf den meisten Windows Rechnern läuft es.
Weil die Microsoft-JVM nicht so genau auf die Datei-rechte aufpasst. (Wohingehen die Blackdown-JVM für Linux etwas genauer an der Definition von Sun dran ist…)
cu
Von wo liest du die Dateien und wie ganu bestimmst du ihre
„Addresse“ (Quell-Code) ?
Die Parameter filename und filename2 stehen so in der HTML Datei drin, sonst durfte er die nicht öffnen.
String fileName = getParameter(„filename“);
img = getImage(getDocumentBase(),fileName);
MediaTracker mt = new MediaTracker(this);
mt.addImage(img, 0);
try
{
//Warten, bis das Image vollständig geladen ist,
mt.waitForAll();
} catch (InterruptedException e)
{
fehler = true;
System.out.println("Fehler beim laden der Karte: "+e.toString());
}
dort bei mt.waitForAll() kommt bei Linux eine Fehlermeldung,
aber selbst wenn ich das ausklammere dann kommt später eine Fehlermeldung wenn ich das Image anzeigen will.
Das lesen der Text-Dateien mache ich so:
String fileName2 = getParameter(„filename2“);
DataInputStream file;
try
{
URL url = new URL(getDocumentBase(), fileName2);
file = new DataInputStream(url.openStream());
}catch (Exception e)
{
System.out.println(e.toString());
}
Das funzt ja, aber das mit dem image oben geht net.
Moin
dort bei mt.waitForAll() kommt bei Linux eine Fehlermeldung,
aber selbst wenn ich das ausklammere dann kommt später eine
Fehlermeldung wenn ich das Image anzeigen will.
Grobe Theorie: Der kann das Bild nicht umsetzen, sprich: er bekommt die Daten, kann aber mit dem Bild-format nix anfangen. Versuchs mal mit normalen (nicht progressiv) jpeg… ?
(Und poste den Stack-track von der Exception, wenn du kannst)
cu
Laut ACDSee ist es nicht progressiv codiert.
Und leider kann ich die Exception gar nicht selber bauen, ich habe nämlich kein Linux.
Aber sobald ich den Linux User wieder erreiche frage ich ihn mal danach.
danke erstmal, leider ist unser Forum derzeit down also wird es wohl erst morgen was mit der Fehlermeldung.
Und was ist ein Stack-track?
Gruß Wiz
Also, ich sehe folgende Fehlermeldung (Win2000, Mozilla 1.5):
http:/ /ivan.russenmafia.net/Uga-Agga/output.txt
java.lang.NoSuchMethodError
at Karte.init(Karte.java:67)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Zu finden in der Java Console. (Das Leerzeichen habe ich reingemacht,
damit es kein Link wird.)
Sieht so aus, als kennt er die Methode in Zeile 67 nicht.
Gruss, Patrick
Hi,
also bei mir funktionierts: RedHat 8, Opera 7.23, Java 1.4.2
Gruß,
Andreas
Hab’s noch unter Mozilla 1.4.1 getestet, und da funktioniert es nicht. Komisch …
Hier ist der Stack Trace:
load: class Karte.class not found.
java.lang.ClassNotFoundException: Karte.class
at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:162)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:123)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:566)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:617)
at sun.plugin.AppletViewer.createApplet(AppletViewer.java:1856)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:546)
at sun.applet.AppletPanel.run(AppletPanel.java:298)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:452)
at sun.net.NetworkClient.doConnect(NetworkClient.java:137)
at sun.plugin.net.protocol.http.HttpClient.doConnect(HttpClient.java:106)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:402)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:618)
at sun.net.www.http.HttpClient.(HttpClient.java:306)
at sun.net.www.http.HttpClient.(HttpClient.java:267)
at sun.plugin.net.protocol.http.HttpClient.(HttpClient.java:41)
at sun.plugin.net.protocol.http.HttpClient.New(HttpClient.java:62)
at sun.plugin.net.protocol.http.HttpURLConnection.createConnection(HttpURLConnection.java:101)
at sun.plugin.net.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:158)
at sun.plugin.net.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:393)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:272)
at sun.applet.AppletClassLoader.getBytes(AppletClassLoader.java:263)
at sun.applet.AppletClassLoader.access$100(AppletClassLoader.java:43)
at sun.applet.AppletClassLoader$1.run(AppletClassLoader.java:152)
at java.security.AccessController.doPrivileged(Native Method)
at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:149)
Gruß,
Andreas
Zeile 67: hold += Character.toString©;
also ich würde mal tippen, du hast ne alte Java Version installiert.
Was steht denn in der Console ganz oben ?
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
load: class Karte.class not found.
java.lang.ClassNotFoundException: Karte.class
Hmm, muss wohl an Mozilla liegen denn die Klasse existiert auf jeden Fall.
Aber wer benutzt denn Mozilla 
Danke für eure Hilfe!
Wiz
Zeile 67: hold += Character.toString©;
Was steht denn in der Console ganz oben ?
Version 1.3.1_08
Muss ja nicht zwingend der Fehler sein. Laut API-Doc kann
1.3.1 dieses Konstrukt interpretieren.
Mit IE 5.5 bekomme ich uebrigens auch den Fehler.
Gruss, Patrick
hmm, wirklich komisch, ich würde aber trotzdem auf 1.4.1 updaten.
Oder warten bis 1.5 rauskömmt…
hmm, wirklich komisch, ich würde aber trotzdem auf 1.4.1
updaten.
Oder warten bis 1.5 rauskömmt…
Was machst du wenn dein Kunde 1.3 verwendet und er nicht bereit
zum Updaten ist oder es aus firmenpolitischen Gruenden nicht kann?
Naja, halb so wild, ich will damit nur sagen, dass updaten nicht immer
der einfache Weg ist.
Gruss, Patrick
Jo das ist wohl war, aber da das ja nur Privat ist, stört mich das wenig. 
Und da das ja bei Version 1.3.1 auch funzen sollte verstehe ich den Fehler eh nicht…