wie starte ich (m)ein Apllet
Chräcker Heller
- java
0 Miky0 Onkel0 Michael Schröpl0 Chräcker Heller0 Daniel Thoma0 Chräcker Heller
Hallo zusammen,
seid einer Woche stoppel ich mein erstes Java-Apllet zusammen (schon mal Altgrieschich aus einem in Grieschich geschriebenen Buch gelernt?).... nun habe ich mein erstes Apllet soweit, daß es anfängt, meinen Wünschen zu folgen. Im Appletviewer, lokal im IE, mozilla und opera und von mir zuhause auch auf dem Serverplatz im Internet, auf dem ich die html-Seite und die class und ein paar grafiken geschoben habe. Auf jedem Rechner meiner Freunde und Bekannten (4 Testcomputer) funktioniert mein Apllet nicht. Ich habe es NS4-freundlich (noch) per:
<applet code="malen.class" width="600" height="390">
eingebunden, was mir der NS4 zwar mit einem "java.lan.ClassFormatError: bad major version number" honoriert, aber wir wollen ja nicht kleinlich sein.....
"natürlich" habe ich auf einheitliche Groß-kleinschreibung geachtet. "Auch natürlich" ist das applet sicherlich hundsmiserabel geschrieben, macht eh noch lange nicht alles, was es mal können soll und wird die Anzahl der unnötigen Applets einmal um eins erhöhen, aber das kann ja nicht ein Grund sein, a) bei mir (lokal) und "von mir aus" (im Internet) zu funktionieren, aber bei niemanden anderen. (ähem..... oder? - gibts eine interne JAVA-Qualitätskontrolle? ;-))))))
Woran kann es liegen? wo denke ich falsch und/oder wohin sollte ich weiter suchen? (das applet ist auch nicht das längste, was mich aber sicherlich nicht davon abgehalten hat, da grobe Schnitzer rein zu hauen, aber wie gesagt, bei mir läufts....)
Ach ja, das ganze liegt bei
http://www.stempelgeheimnis.de/test/test.html
die class lautet malen.class (was die wohl mal machen soll ;-))
Danke,
Chräcker
Hi,
fachlich kein einziger Hinweis, hab noch nie n Applet geschrieben.
Aber: "class malen not found." - also kann´s ja erstmal noch gar nich am Applet selber liegen, oder?
Gruß,
Miky
Ich vermute, dass das unterschiedliche Verhalten auf unterschiedliche (bzw nicht installierte) virtuelle Maschinen zurückzuführen ist. Ein generelles Problem, weshalb Applets im Internet nicht besonders verbreitet sind.
Hi Chräcker,
Im Appletviewer, lokal im IE, mozilla und opera und
von mir zuhause auch auf dem Serverplatz im
Internet, auf dem ich die html-Seite und die class
und ein paar grafiken geschoben habe.
also funktioniert es mit der Java-Installation auf
Deinem PC.
Das ist unabhängig davon, von woher Dein Applet geladen
wurde, und wahrscheinlich verwenden auch alle Deine
Browser dieselbe Java-Installation Deines Rechners.
Diese ist der Interpreter, der Dein Applet verkraften
muß.
<applet code="malen.class" width="600" height="390">
Ich denke nicht, daß es etwas mit der Einbindung zu
tun haben dürfte.
eingebunden, was mir der NS4 zwar mit einem
"java.lan.ClassFormatError: bad major version
number" honoriert, aber wir wollen ja nicht
kleinlich sein.....
Der Netscape 4 dürfte bei der Java Virtual Machine
das verwenden, was in seiner Installation drin steht.
Das ist möglicherweise weniger als die JVM Deines
Betriebssystems ... mit den Details kenne ich mich
allerdings nicht aus.
bei mir (lokal) und "von mir aus" (im Internet) zu
funktionieren, aber bei niemanden anderen.
(ähem..... oder? - gibts eine interne JAVA-
Qualitätskontrolle? ;-))))))
Es gibt lokal installierte Java-Interpreter, die
unterschiedlich viel Java können. Insbesondere gibt
es Versionen von Java (und dessen Virtual Machine).
Wenn Du gerade erst mit Java anfängst (und damit mehr
darüber weißt als ich ;-), wirst Du Dich mit solchen
Details nicht befaßt haben, sondern einfach verwendet
haben, was bei Dir geht.
Daß andere Clients ggf. eine ältere Java-Version haben
und Dein modernes Applet nicht verstehen, das ist
nicht anders, als wenn Du JavaScript1.2-Code in
Netscape 3 anzuzeigen versuchst. Das ist das Problem
aller Interpretersprachen: Es muß ein hinreichend ak-
tueller Interpreter auf dem Client-Rechner da sein.
Woran kann es liegen? wo denke ich falsch und/oder wohin sollte ich weiter suchen? (das applet ist auch nicht das längste, was mich aber sicherlich nicht davon abgehalten hat, da grobe Schnitzer rein zu hauen, aber wie gesagt, bei mir läufts....)
Ich kann unsere Firewall leider nicht dazu überreden,
Deine Seite nicht so zu parsen, daß noch irgendwas
von der Einbindung übrig bleibt ... I lose.
Viele Grüße
Michael
Hallo,
Danke erst mal Euch allen. Das mit den "versionen" klingt logisch. Nun ist mein Programm ultra simpel und kurz, aber da ich bei den ersten eingebauten event-methoden immer ein "eigendlich nicht mehr erwünscht und auf der Abschußliste" bekommen habe, und wenigstens hier mal "strict" sein wollte, vermute ich mal da den knackpunkt meines Scriptes.
Nun ergibt sich die Frage, wie ich die "runterkompatibilität" testen kann, aber da fällt mir der gute alte NS4 ein ,-) Versuche also mal mein Programm dafür lauffähig zu machen..... (Wenn nicht noch jemand eine andere Idee hat....)
Danke erstmal,
Chräcker
PS. ein "malen.class not found" hatte auch jemand meiner freunde, aber die class liegt definitiv im Ordner....
Hallo Chräcker
Die Fehlermeldung war ja:
java.lang.ClassFormatError
Wenn das Problem neue APIs wären, würden da irgend welche Klassen oder Methoden nicht gefunden.
Hier ist das Problem, dass die VM schon mit dem Bytecode nichts anfangen kann.
Bei Applets für's internet sollte man die Java-Version 1.1 verwenden. Die ist zwar steinalt, aber die NN4 und die standard IE-VM unterstützen nur das.
Also solltest Du nur Methoden und Klassen verwenden, bei denen in der Referenz steht: since jdk 1.1.
Um das Bytecodeproblem zu vermeiden, solltest Du beim Kompilieren angeben, dass Du 1.1 Bytecode willst. Ab jdk 1.4 ist der Bytecode Aufgrund eines neuen Sprachfeatures (assertions) nur 99%ig abwärtskompatibel. So lange man die nicht braucht, kann man aber getrost alten Bytecode kompilieren lassen. Der läuft auch auf den neuen VMs.
Kompileraufruf:
javac -target 1.1 ...
Ob dir der Kompiler da dann auch gleich ankreidet, wenn Du neuere Klassen und Methoden verwendest, weiß ich nicht.
Grüße
Daniel
Danke!!!!,
jetzt läufts tatsächlich im NS4.... es gab keine fehlermeldungen mehr, und ich gebe zu, ich habe meinen Minicode auch noch nicht auf "since jdk 1.1." getestet, aber das folgt.
darf ich vorsichtig noch mal fragen, ob jetzt bei jemanden "irgendwas läuft"? (dann hätte ich den fehler auf diesen "Grund" fixiert....) (man sollte auf einem "feld" per maustaste "grob" malen können, aber wenns Applet startet, wäre ich schon froh ,-)) (bin aber auch morgen wieder selber an einem anderen Rechner, nur, man ist ja so ungeduldig ,-))))
http://www.stempelgeheimnis.de/test/test.html
Danke nochmals....
Chräcker
Hi Chräcker
http://www.stempelgeheimnis.de/test/test.html
darf ich vorsichtig noch mal fragen, ob jetzt bei jemanden "irgendwas läuft"?
[x] Netscape 4.78
[x] IE 6
Opera installiere ich generell nur ohne Java.
Mozilla reagiert nicht, sollte aber eigentlich...?
LG Orlando
--
SELF-TREFFEN 2002
http://www.rtbg.de/selftreffen/
http://www.megpalffy.org/temp/penneninhh.html
Hi Chräcker
http://www.stempelgeheimnis.de/test/test.html
darf ich vorsichtig noch mal fragen, ob jetzt bei jemanden "irgendwas läuft"?
[x] Netscape 4.78
[x] IE 6
[x] Oper 6.0
[x] mozilla 0.9.9
beide mit jre 1.3.1
Gerd
Hallo,
Danke Euch beiden, jaaaa, jetzt gehts auch von meinen "fremd-Internet-PCs".... danke!
Chräcker