# Applet in Browser starten



## joern1 (11. Okt 2007)

Hallo,

ich habe ein Applet, welches sich in Eclipse perfekt öffnen läßt.

Ich Browser funktioniert es nicht:  


```
<td><applet code="Applet2.class" codebase="MVC/GUI/" width="800" height="600" align="left">

Please [url="http://java.com/de/download/index.jsp"]download Java(tm)[/url].
</applet></td>
```



```
----------------------------------------------------
Laden: Klasse Applet2$2.class nicht gefunden
java.lang.ClassNotFoundException: Applet2$2.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)
```

Die Klasse liegt im gleichen Verzeichnis wie die html Datei.
Verzeichnis:  MVC / GUI /

In Eclipse wurde auch 3 Klassen generiert:

Applet2.class
Applet2$1.class
Applet$2.class

Über Hinweise wäre ich dankbar....


VG


----------



## Jonnsn (11. Okt 2007)

Applet$2.class soll vermutlich -> Applet2$2.class heissen (nehme ich mal an)?

Jedenfalls... wenn du in der html-Datei 
	
	
	
	





```
codebase="MVC/GUI/"
```
 angibts geht er vom verzeichnis der html Datei aus in das Verzeichnis MVC/GUI... welches vermutlich nicht exisitert.
genaueres hier

dein Code müsste eher so heissen:


```
<td><applet code="Applet2.class" width="800" height="600" align="left">

Please [url="http://java.com/de/download/index.jsp"]download Java(tm)[/url].
</applet></td>
```

Wenn die class dareien im selben Verzeichniss wie die html-Datei liegen kann das Codebase attribut entfallen.
siehe hier


----------



## joern1 (11. Okt 2007)

Danke für deine Links. Ich habe das im Vorwege jedoch schon getestet.

Wenn ich nur Applet2.class einsetzte, bekomme ich einen wrong name: GUI/Applet2
Also muss da irgendwie das Package mit rein...


```
java.lang.NoClassDefFoundError: Applet2 (wrong name: GUI/Applet2)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	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)
```

Nehme ich die GUI rein

GUI/Applet2.class

wieder die ClassNotFound


```
Laden: Klasse GUI/Applet2.class nicht gefunden
java.lang.ClassNotFoundException: GUI.Applet2.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)
```

 Irgendwie weiss ich nicht so recht weiter...


----------



## Jonnsn (12. Okt 2007)

so meinte ich das auch nicht.... ;-)
lade die 3 Klassen
Applet2.class
Applet2$1.class
Applet$2.class 
(oder alle die das Applet benötigt)
in dasselbe Verzeichnis wie die html-Datei in der das Applet aufgerufen wird. und in eben dieser Datei lässt du beim applet-Aufruf das Codebase-Attribut einfach weg.
so:

```
<td><applet code="Applet2.class" width="800" height="600" align="left">

Please [url="http://java.com/de/download/index.jsp"]download Java(tm)[/url].
</applet></td>
```
mit diesem code und den oben genannten dateien sollte es gehen.


----------



## joern1 (13. Okt 2007)

Hey Jonnsn,

ich habe Dich richtig vestanden. Die 3 Dateien liegen alle im Verzeichnis der html Datei.

Die Einbindung des Applets habe ich so vorgenommen, wie Du es mir beschrieben hast.
Selbstredend habe ich demnach das Codebase Element entfernt...

 :bahnhof:  Am Applet kann  es nicht liegen, wenn es doch in Eclipse fehlerfrei läuft.


----------



## Jonnsn (13. Okt 2007)

ahso....  ok.
Dann hab ich momentan leider allerdings auch keine Idee mehr :-(


----------



## L-ectron-X (13. Okt 2007)

Welche Ausgaben hast du jetzt in der Console?


----------



## joern1 (13. Okt 2007)

Mit  code="Applet2.class"


```
java.lang.NoClassDefFoundError: Applet2 (wrong name: GUI/Applet2) 
   at java.lang.ClassLoader.defineClass1(Native Method) 
   at java.lang.ClassLoader.defineClass(Unknown Source) 
   at java.security.SecureClassLoader.defineClass(Unknown Source) 
   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)
```

Wobei  Applet2 (wrong name: GUI/Applet2) darauf hinweist, dass de Pfad nicht stimmt.



und bei code = "GUI/Applet2.class"

bekomme ich einen 

Laden: Klasse GUI/Applet2.class nicht gefunden 
java.lang.ClassNotFoundException: GUI.Applet2.class 

Am Applet kann es nicht liegen , da es aus Eclipse heraus angezeigt wird.


Viele Grüße


----------



## L-ectron-X (14. Okt 2007)

Zeig mal die Deklarationszeilen deines Applets. Liegt es in einem Package GUI?

Dann muss das so aussehen:
code = "GUI.Applet2.class"

Die HTML-Datei muss dann oberhalb von GUI liegen.
Also so:


```
[Projekt]
|   index.html
|
|_[GUI]
    Applet2.class
```


----------



## joern1 (14. Okt 2007)

Aha, das Applet oberhalb des Package und dann mit einer
Punktnotation.


Danke     

Was für ein herrlicher Sonntag Abend.


Es klappt ...


----------

