Applet funktioniert nicht über Netzwerk
Lemmy Danger
- java
0 Slyh0 Lemmy Danger0 Slyh0 Lemmy Danger0 Slyh
0 Christoph Schnauß
Hallo zusammen,
Als Java-Anfänger bin ich nun eigentlich sehr stolz auf mein erstes handgemachtes Applet.
Probleme bereitet es mir nur, wenn ich es nicht vom Original-Ordner aus laufen lasse. Weder eine auf meinen Webspace hochgeladene, noch eine auf eine andere Partition kopierte Version läuft.
Es gab keine Fehlermeldung beim Kompilieren (Zsys.java->Zsys.class) und auch beim Ausführen meiner dazugehörenden HTML-Seite (Zsys.htm) im selben Ordner lief alles gut. Nur wenn ich die HTML- und die Class-Datei jetzt an einen anderen Ort kopiere, hab ich Schwierigkeiten.
Die Java-Konsole meldet folgenden Fehler dazu:
java.lang.NoClassDefFoundError: Zsys$ButtonHandler
at Zsys.init(Zsys.java:48)
at sun.applet.AppletPanel.run(AppletPanel.java:354)
at java.lang.Thread.run(Thread.java:523)
Soweit ich das nun verstehe, hat die JRE Probleme mit der von mir geschriebenen Klasse ButtonHandler, die ich wiefolgt aufrufe und definiere:
Aufruf:
class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent e){
if(e.getSource()==rechneButton){
...
}
}
Definition:
ActionListener handler = new ButtonHandler();
rechneButton = new JButton("Umwandeln");
rechneButton.addActionListener(handler);
Der Aufruf steht im init() des Applets, die Definition außerhalb.
Kann mir vielleicht irgend jemand sagen, woran das liegen könnte. An falschen Umgebungsvariablen vielleicht? Ich hoffe mal, es ist nur irgendein popliger Anfängerfehler und Ihr könnt mir da ein wenig weiterhelfen...
Vielen Dank und LG ausm Hesseland
Lemmy
Hallo,
Die Java-Konsole meldet folgenden Fehler dazu:
java.lang.NoClassDefFoundError: Zsys$ButtonHandler
at Zsys.init(Zsys.java:48)
at sun.applet.AppletPanel.run(AppletPanel.java:354)
at java.lang.Thread.run(Thread.java:523)
Java sagt dir, daß er die Datei Zsys$ButtonHandler.class aus welchen
Gründen auch immer nicht finden/laden konnte. Liegt die auf deinem
Webspace bzw. hast du die mitkopiert?
Falls ja, gib doch bitte mal die URL an, damit man sich das ansehen kann.
Gruß
Slyh
Hallo Slyh,
[...] Zsys$ButtonHandler.class [...]
Liegt die auf deinem Webspace bzw. hast du die mitkopiert?
Naja, das ist keine externe Klasse, die ist innerhalb der Zsys.class definiert... (s.Link).
Falls ja, gib doch bitte mal die URL an, damit man sich das ansehen kann.
Siehe: http://www.olison.com/Zsys.htm. Ich hab auch gleich mal den Quelltext der Zsys.java druntergepackt. Aber nicht erschrecken, ist ein Erstlingswerk... ;)
Das Applet soll eine Dezimal-Zahl entgegennehmen und die entsprechenden Hexadezimal- und Binär-Werte ausgeben. Wie gesagt: Im "Ursprungs"-Ordner hat sie das auch tadellos gemacht...
LG ausm Hesseland
Lemmy
Hallo,
[...] Zsys$ButtonHandler.class [...]
Liegt die auf deinem Webspace bzw. hast du die mitkopiert?
Naja, das ist keine externe Klasse, die ist innerhalb der Zsys.class definiert... (s.Link).
Ja, ich weiß. Deshalb heißt die Datei auch nicht ButtonHandler.class,
sondern Zsys$ButtonHandler.class :-)
Der Java-Compiler erzeugt für jede Klasse (sogar für anonyme oder
lokale Klassen) eine .class-Datei, so auch für die Inner-Klasse
ButtonHandler.
Wenn du genau guckst, wirst du die Datei tatsächlich finden.
Falls ja, gib doch bitte mal die URL an, damit man sich das ansehen kann.
Siehe: http://www.olison.com/Zsys.htm. Ich hab auch gleich mal den Quelltext der Zsys.java druntergepackt.
Aber nicht erschrecken, ist ein Erstlingswerk... ;)
Da ich behaupte die Lösung zu kennen, hab ich ihn jetzt mal nicht
angeguckt. ;-)
Gruß
Slyh
Ei Caramba!
Welch Glück - ein Anfängerfehler! Hab mittlerweile soviele Klassen in meinem Ordner, dass ich die tatsächlich übersehen habe... Vielen Dank für den Tipp :)
Ich werde morgen mal in der Bibliothek nach einem gescheiten Einsteiger-Buch suchen. Diese Kochrezepte*, die ich mir ausgeliehen hatte, sind halt nix für Java-Neulinge, die von so grundlegenden Dingen noch keine Ahnung haben... ;)
LG ausm Hesseland
Lemmy
* gemeint ist das "Java-Kochbuch" von Ian Darwin
Hallo,
Ich werde morgen mal in der Bibliothek nach einem gescheiten Einsteiger-Buch suchen. Diese Kochrezepte*, die ich mir ausgeliehen hatte, sind halt nix für Java-Neulinge, die von so grundlegenden Dingen noch keine Ahnung haben... ;)
Sehr gute finde ich das Javabuch von Guido Krüger (http://www.javabuch.de).
Allerdings sollte man hierfür schon Programmierkenntnisse habe und
evtl. auch schon ein bißchen was mit objektorientierter Programmierung
gemacht haben.
Außerdem soll noch "Java ist auch eine Insel" (oder so ähnlich)
brauchbar sein. Selbst gelesen habe ich es nicht.
Guck doch mal bei Amazon. Aus den Kundenrezensionen kann man immer ganz
gut rauslesen, ob das Buch eher für absolute Anfänger (ohne Programmier-
kenntnis) oder schon für eher Fortgeschrittene ist.
Gruß
Slyh
Ei guude wie?
Die HTML-Version vom Javabuch hatte ich mir schon runtergeladen, aber so übersichtlich fand ich das jetzt nicht gerade.
So ein bißchen Ahnung von OO-Programmierung hab ich ja schon (2 Semester C/C++), aber sonderlich tief sind wir da nicht vorgedrungen. Es geht mir eher um Besonderheiten von Java, wie etwa die Syntax, was beim Kompilieren genau passiert (wie z.B. das mit den classes), etc.
Ich hab mir heute das Buch "Java professionell" von Gerhard Wilhelms und Markus Knopp ausgeliehen und glaub, damit fahr ich ganz gut. Und wenn nicht: Zurückgeben und unter den 50 anderen Java-Büchern wählen. Fachhochschul-Bibliotheken sind doch was Feines ;)
LG ausm Hesseland
Lemmy
Hi,
Und wenn nicht: Zurückgeben und unter den 50 anderen Java-Büchern wählen. Fachhochschul-Bibliotheken sind doch was Feines ;)
auch lesenswert: http://www.mindview.net/Books
Viele Grüße,
Martin Jung
hallo Lemmy,
Es gab keine Fehlermeldung beim Kompilieren
Das ist schon mal viel wert, das heißt, dein Java-Compiler hatte alle nötigen Bibliotheken (Klassen), die eventuell benötigt werden
java.lang.NoClassDefFoundError: Zsys$ButtonHandler
at Zsys.init(Zsys.java:48)
Was steht denn ganz "krass konkret" in Zeile 48 deiner JAVA-Quelldatei drin?
Soweit ich das nun verstehe, hat die JRE Probleme mit der von mir geschriebenen Klasse ButtonHandler
du hast keine Klasse "ButtonHandler" geschrieben, sondern "ZsysButtonHandler", und das möglicherweise nicht konsequent überall im Quelltext so vermerkt ?
oups ... ich wollte, neugierig wie ich nun mal bin, rasch vorbeiscahuen. Sofort werde ich gefragt, ob ich ein Cookie entgegennehmen möchte. Möchte ich natürlicherweise nicht, weil ich heute schon genug Kekse verzehrt habe. Ich werde aber volle 23mal (dreiundzwanzigmal!) hintereinander gefragt, wenn ich konsequent auf "Nein" drücke. Muß denn dieser Cookie-Kram sein?
Grüße aus Berlin
Christoph S.
Hallo Christoph.
Das ist schon mal viel wert, das heißt, dein Java-Compiler hatte alle nötigen Bibliotheken (Klassen), die eventuell benötigt werden
Das freut mich schon mal zu hören...
Was steht denn ganz "krass konkret" in Zeile 48 deiner JAVA-Quelldatei drin?
Et voilà, Zeile 48: ActionListener handler = new ButtonHandler();
Muß denn dieser Cookie-Kram sein?
Ähm, was mich nun doch sehr wundert, da ich eigentlich weder mit JS noch mit PHP oder sonstwie Cookies setze auf meiner Seite... 8-< Da ich alle Scripte selbst geschrieben habe und dort _keine_ Cookies verwendet werden, muss das wohl ein freundlicher Gruss von Lycos sein. Danke für den Hinweis, werd mich mal drum kümmern.
LG ausm Hesseland
Lemmy
Guten Morgen,
Soweit ich das nun verstehe, hat die JRE Probleme mit der von mir geschriebenen Klasse ButtonHandler
du hast keine Klasse "ButtonHandler" geschrieben, sondern "ZsysButtonHandler", und das möglicherweise nicht konsequent überall im Quelltext so vermerkt ?
Darüber würde sich der Compiler beschweren.
Christoph S.
Viele Grüße,
Martin Jung