eigene Applets funzen nur mit Appletviewer
-
Hi,
eigene Applets funktionieren bei mir nur mit dem Appletviewer, im IE aber nicht.
Bsp.:import java.awt.*; import java.applet.*; public class Test extends Applet { public void init() { } public void paint(Graphics g) { showStatus("Hello, world"); g.drawString("Hello, world",10,50); } }
HTML-Einbettung:
<html> <head> <title>Titel</title> </head> <body> <p> <applet code="Test.class" width="400" height="400"> Inhalt </applet> </p> </body> </html>
Die Test.class liegt garantiert in dem selben Verzeichnis, wie die html-Datei. Trotzdem bekomme ich nur ein leeres graues Feld..auch bei komplexeren Applets.
Wenn ich mit der Maus über das leere Feld fahre kommt kurz eine Info "Load: class Test not found". Das kann eigentlich garnciht sein.
Mit dem Appletviewer funzt alles wunderbar.Die VM (neueste, vor 4 Tagen erst frisch von sun geholt) muss auch ok sein, weil andere Applets im INet ja auch gehen.
Wieso klappt das bei mir nicht?
-
Wenn du die class-Files im selben Verzeichnis wie das HTML-File hast, dann setze mal die Codebase:
<applet code="Test.class" codebase="." width="400" height="400">
Das sollte helfen.
-
Vielen Dank, habe ich gemacht.
Es kommt aber immer noch der gleiche Fehler .Muss man Applets vielleicht anders kompilieren?
Ich habe das so wie üblich mit javac Test.java gemacht...muss man für Applets etwa spezielle Parameter angeben?
-
aus : java ist eine insel
Hinweis Sun hat in der Version 1.4 geringfügig das Format für die Bytecode-Dateien geändert. Viele Browser und ihre virtuellen Maschinen habe damit Probleme. Um dem Compiler aus dem Java SDK 1.4 (und folgende) anzuweisen, das ältere Format zu erzeugen, muss der Schalter -target 1.1 angegeben werden.
zu optionen:
http://java.sun.com/j2se/1.3/docs/tooldocs/win32/javac.html
in dem buch wenden sie die option für folgendes beispiel an (was deinem sehr gleicht)
import java.applet.Applet; import java.awt.Graphics; public class HelloWorldApplet extends Applet { public void paint( Graphics g ) { g.drawString( "Hello world!", 50, 25 ); } }
achtung
nur eine von vielen ursachen.. den class not found error behebst du so nicht, da ist destructors idee die richtige.sind die pfade alle richtig gesetzt zu java ... ??
-
Oh...Vielen Dank.
Ich hab javac einmal mit der Option -target 1.x ausgeführt, seitdem gehts.
Seltsam: wenn ich javac jetzt wieder ohne diese Option ausführe gehts immer noch...Egal - hauptsache es geht.
-
hi
als Tip ich würde nur mit dem jdk 1.3 arbeiten den das wird nach meiner Erfahrung von fast allen Browsern unterstüzt und ist nicht so Bugy wie die 1.4.
-
Hi, äh, ich habe eine Frage zu dem Tip:
1.3 kennt keinen MouseWheelListener...
Wie mache ich sowas dann?
Gruß, Tobias
-
Hi
ist das mit dem MouseWheelListener wirklich so wichtig????
-
1.3 kennt keinen MouseWheelListener...
Wie mache ich sowas dann?Mit 1.3 gar nicht!
Wenn du Applets schreibst, dann hast du gennerell das Problem mit den älteren Versionen. Manche Browser (ohne das Java-Plugin) unterstützen meist gerademal 1.1
[...] ist nicht so Bugy wie die 1.4.
Kannst du mir da mal ein Beispiel nennen? Ich finde 1.4 nämlich nicht buggy. Mir ist da nichts aufgefallen.
-
hi
bei der 1.4 ist mir aufgefallen das die Applet im IE nicht mehr laufen, weil irgendwas mit der JRE 1.4 nicht ganz stimmt. Ist schon was länger her das ich mit Java geproggt habe. Könnte ja auch sein das die 1.4 verbessert worden ist. War halt meine Erfahrung mit der 1.4.
Man sollt im allgemeinen nicht immer mit der neusten Version arbeiten, außer es geht nicht anderes. Den die neueren Versionen sind oftmal nicht abwärts Kompatibel und sie könnten unter umständen auch Bugs beinhalten die dann einen zur Verzweiflung bringen können.
-
Wobei man ja 1.4 mittlerweile sicherlich bedenkenlos verwenden kann. (wegen der Bugs) weil ja 1.5 schon kurz bevorsteht und 1.4 mittlerweile schon ziemlich lange draußen ist. (Aktuell 1.4.2)
Die neueste Version sollte man eben nur dann verwenden, wenn sichergestellt ist, dass der Code auch abwärtskompatibel ist oder dass die Zielgruppe die mindestens selbe Version installiert hat
-
hi meine rede.
So jetzt ist Feierabend. Entlich wieder mal Wochenende.