# schon wieder.applet geht nicht (Fehler: not found)



## virtualAudio (6. Dez 2006)

Hi Leute,

beim Durchforsten des Forums hatte ich schnell die Hoffnung, dass ich nicht selber posten werden muss, da dieses Thema schon oft besprochen wurde. Leider haben bei mir die letzten 5-10 Problemlösungen anderer nichts gebracht. Somit schreib ich doch selbst.


*Diese html-Seite: 
* http://stud3.tuwien.ac.at/~e0004876/taylor/Taylor.html

*Diese Fehlermeldung
*

```
Laden: Klasse Taylor.class nicht gefunden
java.lang.ClassNotFoundException: Taylor.class
	at sun.applet.AppletClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadCode(Unknown Source)
	at sun.applet.AppletPanel.createApplet(Unknown Source)
	at sun.plugin.AppletViewer.createApplet(Unknown Source)
	at sun.applet.AppletPanel.runLoader(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: open HTTP connection failed.
	at sun.applet.AppletClassLoader.getBytes(Unknown Source)
	at sun.applet.AppletClassLoader.access$100(Unknown Source)
	at sun.applet.AppletClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	... 10 more
Exception in thread "Thread-87" java.lang.NullPointerException
	at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
	at sun.plugin.AppletViewer.showAppletException(Unknown Source)
	at sun.applet.AppletPanel.runLoader(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
	at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
	at sun.plugin.AppletViewer.showAppletStatus(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Exception in thread "thread applet-Taylor.class" java.lang.NullPointerException
	at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
	at sun.plugin.AppletViewer.showAppletException(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
```


Die Datei "Taylor.class" befindet sich im gleichen Ordner wie "Taylor.html". Die Gross/KLeinschreibung scheint zu stimmen.

Ich hoffe, dass vielleicht doch jemand noch eine Idee hat, bzw. ich die anderen Ideen falsch genutzt habe um das Problem zu lösen.

Beste Grüße
Andi


----------



## L-ectron-X (6. Dez 2006)

Standardfragen:
Welcher Browser?
Welche VM ist installiert/aktiviert?
Mit welchem JDK/SDK kompiliert?
FAQ gelesen?
Was hast du noch probiert?


----------



## virtualAudio (6. Dez 2006)

Browser: Firefox 1.5 / MS IE 6
Java: 1.5.0_06 (VM und in Eclipse)
FAQ gelesen: ja

sonst:
ich dachte an ein Problem im Aufruf und hab das überprüft (selfhtml); die gross/kleinschreibung hab ich überprüft
die Rechte im Zugriff auf die Dateien Taylor.html und Taylor.class hab ich hin und her verändert
statt "Taylor.class" hab ich "./Taylor.class" probiert
Eure letzten (vor allem Deine) Hilfestellungen im Forum hab ich gelesen und mit meinem Problem verglichen
vom package taylor hab ichs zum default-package in eclipse geändert in der Hoffnung, dass er es deshalb nciht findet
ja, ich glaub das wars bis jetzt



Beste Grüße
Andi


----------



## virtualAudio (6. Dez 2006)

Mit einem jar-file  hab ichs jetzt auch versucht. Aufruf mit 

```
...archive="Tylor.jar" code="Taylor.class"...
```


----------



## L-ectron-X (6. Dez 2006)

Klingt erstmal alles ganz vernünftig. Ich kann mir trotzdem keinen Reim drauf machen...
Ich hab mal versucht, die jar-Datei von deinem Space zu laden, ging nicht. Der Server hat mit das nicht erlaubt.
Hast du mal versucht, das Applet auf einem anderen Server zur Verfügung zu stellen?
Funktioniert es eigentlich lokal?


----------



## virtualAudio (6. Dez 2006)

Ja, ich hab die Rechte wieder zurückgestellt weil sich am Problem nichts geändert hat und ich dachte wenn ein html aus dem selben Ordner darauf zugreift wirds schon die Rechte haben....?!


Habs grad auf einen anderen Server gespielt.

http://www.tonzauber.com/andi/Taylor.html


Fehler:

```
java.lang.NoClassDefFoundError: Taylor$2
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
	at java.lang.Class.getConstructor0(Unknown Source)
	at java.lang.Class.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at sun.applet.AppletPanel.createApplet(Unknown Source)
	at sun.plugin.AppletViewer.createApplet(Unknown Source)
	at sun.applet.AppletPanel.runLoader(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Exception in thread "Thread-25" java.lang.NullPointerException
	at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
	at sun.plugin.AppletViewer.showAppletException(Unknown Source)
	at sun.applet.AppletPanel.runLoader(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
	at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
	at sun.plugin.AppletViewer.showAppletStatus(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Exception in thread "thread applet-Taylor.class" java.lang.NullPointerException
	at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
	at sun.plugin.AppletViewer.showAppletException(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
```


In der Entwicklungsumgebung(Eclipse) funktioniert es ja.


----------



## L-ectron-X (7. Dez 2006)

Also gleich in der ersten Zeile stellt der Interpreter fest, dass ihm eine Klasse zum Ausführen fehlt.
Du solltest schon alle erzeugten .class-Dateien auf deinen Space bzw. in die jar-Datei packen.
Taylor$2.class ist vermutliche eine anonyme innere Klasse, die vom Compiler erzeugt wurde. Ohne die, wird aber dein Applet nicht funktionieren.


----------



## virtualAudio (7. Dez 2006)

puuh, so Leute es klappt. ganz verstanden hab ich hier noch nicht alles, aber man muss ja schon froh sein wenns mal funktioniert. http://stud3.tuwien.ac.at/~e0004876/taylor/Taylor2.html


Taylor$2.class gibt es und es war auch im jar file enthalten. Interessanterweise sagt er was von ...$2.. not found wenn das jar nicht gelesen werden kann. Hab jetzt die Rechte am jar wieder geändert und jetzt gehts. Sehr verwirrende Fehlermeldung. _Ist es nicht möglich für die java-console zu erkennen ob ein file nicht da oder nicht lesbar ist??_

Dumm ist, dass ich aus irgendeinem Grund die Rechte an den zusätzlichen ($2, etc) class-files (wenn sie ohne jar im Ordner liegen) nicht ändern konnte. Denn ich hab ja auch weiterhin versucht das ganze ohne Archiv zum Laufen zu bringen. Hat bis jetzt nicht geklappt.

@L-ectron-X
Danke für Deine immer wieder geduldige Hilfe!!!

Mit besten Grüßen 
Andi


----------



## L-ectron-X (7. Dez 2006)

???:L Was für Rechte mussten denn geändert werden und warum? Dieses Applet braucht doch keine erweiterten Rechte. Das Jar-File braucht nicht mal ein Manifest...
Eine Sache müsstest du noch nachbessern. Das Applet flackert unheimlich beim Ziehen der Scrollbars.
Normalerweise sind Swing-Komponenten schon _double buffered_. Scheint also irgendwo noch was verkehrt gemacht worden zu sein.


----------



## virtualAudio (7. Dez 2006)

Hi again,

auf diesem Uni-Server werden automatisch alle files auf: kein aussenstehender darf lesen,schreiben oder ausführen gesetzt. jetzt da "read" für alle erlaubt ist funktioniert es mit dem jar-file

Das flackern kommt glaube ich nicht von dem üblichen doublebuffered - dings, sondern daher, dass bei jeder Änderung der Regler (oder auch wenn man die appletgrösse ändert) alles neu berechnet und gezeichnet wird. Mir war es wichtiger immer die volle Auflösung zu haben, wollt ja bloß für mich eine veranschaulichung weil ich nirgends sowas gefunden hab und grad für ne Matheprüfung lerne. Bei jeder Berechnung schaut er also erst nach wieviele Pixel er vertikal und horizontal hat und speichert alles in arrays die dann gezeichnet werden. Bei steigender Anzahl von Ableitungen wird das schnell viel Zeug...dafür sieht man halt auch bei jeder Einstellung alle Feinheiten.

Ich kann mich allerdings irren, vielleicht würde man das flackern doch wegbringen?! Was meinst Du...kann ich mit obiger Überlegung recht haben?

lga


edit: wobei es flackert auch schon ohne Ableitungen... hm


----------



## L-ectron-X (7. Dez 2006)

Reine Implementierungsfrage. Das Flackern bekommt man auf jeden Fall weg. Ich denke aber, dass es nicht an deiner Vermutung liegt. Beim Zeichnen kann ein unerfahrener Programmierer viel verkehrt machen. Da werden oftmals Graphics-Objekte gespeichert, die falschen Methoden überschrieben oder Swing mit AWT gemischt etc.


----------

