# ich kriege das applet nicht zu sehen



## moha-chelly (25. Sep 2006)

hallo allerseits,

ich bin hier ganz neu, 
ich habe eine einfache Applet in eclipse programmiert und auch getestet, das applet funktioniert zwar mit eclipse aber
wenn ich mein Applet in ein html datei einbinden möchte, bekomme ich das applet nicht zu sehen.

Ich weiß nicht woran das liegt,
an dem code vielleicht, weil ich ihn aus dem Internet bekommen habe, oder muss ich vielleicht ein paar einstellungen 
vornehenm, die ich nicht kenne.

Hauptsächlich ich habe die html-datei  und die .class datei in einm gemeinsamen ordner getan aber das ging nicht.

Vielleicht habt ihr für mich ein beispiel an dem  ich mich halten soll.

vielen Dank


----------



## Leroy42 (25. Sep 2006)

Poste doch mal deinen HTML-Code und den Code zur _Deklaration des Applets_

Also sowas wie


```
public class MyApplet extends Applet {
```


----------



## Guest (25. Sep 2006)

```
package applet;
import java.applet.*;
import java.awt.*;

public class HalloWelt extends Applet {      

  final int BREITE = 400, HOEHE = 250;

  public void paint (Graphics g) {
    g.setColor(Color.green);
    g.fillRect(0,0,BREITE,HOEHE);
    g.setColor(Color.red);       
    g.drawString("Hallo Java-Freaks!",150,125);
  }
  }
```

html-code

```
<HTML>

<HEAD>
<TITLE>Erstes Java-Applet</TITLE>
</HEAD>

<BODY>
<P ALIGN="CENTER">
<APPLET CODE="HalloWelt.class WIDTH="400" HEIGHT="250">
</APPLET></P>
</BODY>

</HTML>
```


----------



## Guest (25. Sep 2006)

ich arbeite übrigens mit Firefox und wenn ich die konsole anschaue, dann bekomme ich diese meldung:


Java Plug-in 1.5.0_06
Verwendung der JRE-Version 1.5.0_06 Java HotSpot(TM) Client VM
Home-Verzeichnis des Benutzers = C:\Dokumente und Einstellungen\chelly


----------------------------------------------------
c:   Konsolenfenster schließen
f:   Objekte in Finalisierungswarteschlange finalisieren
g:   Speicherbereinigung
h:   Diese Hilfemeldung anzeigen
l:   ClassLoader-Liste ausgeben
m:   Speicherbelegung anzeigen
o:   Protokollierung auslösen
p:   Proxy-Konfiguration neu laden
q:   Konsole ausblenden
r:   Richtlinien-Konfiguration neu laden
s:   System- und Bereitstellungseigenschaften ausgeben
t:   Threadliste ausgeben
v:   Thread-Stack ausgeben
x:   ClassLoader-Cache löschen
0-5: Trace-Stufe auf <n> setzen
----------------------------------------------------

Laden: Klasse HalloWelt.class WIDTH= nicht gefunden
java.lang.ClassNotFoundException: HalloWelt.class WIDTH=
	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.FileNotFoundException: C:\Dokumente und Einstellungen\chelly\Eigene Dateien\applets\HalloWelt\class WIDTH=.class (Das System kann den angegebenen Pfad nicht finden)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(Unknown Source)
	at java.io.FileInputStream.<init>(Unknown Source)
	at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
	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-7" 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)


----------



## Guest (25. Sep 2006)

was bedeutet die meldung überhaupt


----------



## Leroy42 (25. Sep 2006)

Daß es die Klasse "HalloWelt.class WIDTH=" nicht gibt!


```
<APPLET CODE="HalloWelt.class WIDTH="400" HEIGHT="250">
```

Mal ein wirklich blöder Fehler   


```
<APPLET CODE="HalloWelt.class" WIDTH="400" HEIGHT="250">
```

Eclipse ist das wohl zu fehlertolerant.


----------



## Guest (25. Sep 2006)

na gut habe ich nicht gesehen,
es funktioniert trozdem nicht.
Muss ich was vielleicht mit dem jdk irgendwas machen oder so


----------



## Leroy42 (25. Sep 2006)

Ähhmm. Hast du jetzt auch das " hinter HalloWelt.class eingefügt?  :shock: 

Wenn ja, was kommt denn jetzt für eine Fehlermeldung?


----------



## Guest (26. Sep 2006)

Java(TM) Plug-in: Version 1.3.1_18
Verwendung der JRE-Version 1.3.1_18 Java HotSpot(TM) Client VM
Home-Verzeichnis des Benutzers = C:\Dokumente und Einstellungen\chelly

Proxy-Konfigurationroxy-Konfiguration des Browsers



----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
l:   dump classloader list
m:   print memory usage
q:   hide console
s:   dump system properties
t:   dump thread list
x:   clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------

java.lang.UnsupportedClassVersionError: HalloWelt (Unsupported major.minor version 49.0)

	at java.lang.ClassLoader.defineClass0(Native Method)

	at java.lang.ClassLoader.defineClass(Unknown Source)

	at java.security.SecureClassLoader.defineClass(Unknown Source)

	at sun.applet.AppletClassLoader.findClass(Unknown Source)

	at sun.plugin.security.PluginClassLoader.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)


----------



## LoN_Nemesis (26. Sep 2006)

Also beim ersten Mal als du deine Konsolenausgabe gepostet hast, war es Java 1.5 und nun ist es 1.3.1? Sieht so aus als hättest du mit 1.5 compiled und versuchst jetzt den Code mit 1.3.1 auszuführen, dann geht natürlich schief.


----------



## L-ectron-X (27. Sep 2006)

Es sieht nicht nur so aus. Genauso ist es!


----------



## Guest (3. Okt 2006)

Also ich verstehe wirklich nicht mehr.

Ich würde so gern das applet mit dem Html einbinden aber geht irgendwie nicht.
Ich habe das erste mal mit java 5 kompiliert und noch dazu java 1.3 installiert, so habe ich mindestens im Internet gelesen.
Es funktioniert aber irgendwie nicht.
Normalerweise habe ich alles aktuell bei mir installiert, sogar die Browser sind aktuell, das heisst , dass dies nicht an meine Browser liegen könnte.
Es ist verdammt verwirrend und komisch.

Gruß


----------



## L-ectron-X (3. Okt 2006)

Ich habe mir deinen Code nachmals angesehen. Wenn er immer noch so aussieht, muss dort was geändert werden.
Ich lasse dir sogar die Wahl. :wink: 

Entweder nimmst du die Package-Deklaration (_package ..._) aus deiner Applet-Klasse heraus (was für den Anfang einfacher ist), oder
du änderst den Aufruf des Applets in deiner HTML-Datei.
Der Aufruf muss dann so aussehen:

```
<APPLET CODE="applet.HalloWelt.class" WIDTH="400" HEIGHT="250">
```
Dabei ist wichtig, dass sich die HTML-Datei oberhalb des Verzeichnisses "applet" befindet. Im diesem Verzeichnis muss dann dein Applet gespeichert sein.

Und ganz wichtig: Wenn du das Applet mit Java 1.5 kompilierst, kann es nur mit dem JRE 1.5 ausgeführt werden.
Bei Java 1.5 gab es eine Änderung im Bytecode, der von VM's unterhalb 1.5 nicht mehr interpretiert werden kann.


----------

