Applet In HTML einbinden klappt einfach nicht

Loppi

Mitglied
Hallo,
ich habe gerade zum ersten Mal versucht, ein Applet auf eine HTML-Seite einzubinden, aber es will nicht funktionieren.
Ich benutze einen von meiner Uni bereitgestellten Online-Kurs und selbst die Beispielapplets gehen einfach nicht. Wenn ich sie in Eclipse starte, geht alles wunderbar. Steht "Applet" drüber und funktioniert problemlos. Aber wenn ich die .html-Datei starte, lädt der Browser entweder einfach nur und wenn er fertig ist, passiert einfach gar nichts oder es kommt gleich eine Fehlerbox (scheint vollkommen zufällig zu sein).

Ich poste hier mal ein Beispielprogramm aus meinem Kurs. Es geht weder auf meinem PC noch wenn ich es hochlade. Ich wüsste wirklich gerne, was daran falsch ist. Ich habe auch schon Alternativen zur HTML-Seite aus dem Internet probiert, welche ebenfalls einfach nicht gehen. Ich dachte, daran müsse es ja liegen, weil Eclipse das Ding problemlos als Applet ausführen kann. Habe es auch schon anderen geschickt und bei niemandem lädt es richtig. Das Seltsamste daran ist ja, dass das wirklich ein Beispielprogramm ist und selbst das nicht klappt.
Bei dem Programm kommt jetzt eine ClassNotFound-Exception... keine Ahnung, wo ich es sonst hintun sollte als einfach in das gleiche Verzeichnis. Aber ich hatte es auf die gleiche Weise auch schon geschafft, dass etwas geladen wurde. Und da startete das Ding einfach nicht.

Habe es hier auch hier alles in den root hochgeladen und unten ist der Code. Ich hoffe, jemand kann mir helfen.

Klick
(Test.html ist das mit dem Fehler [HelloWorld.class] und bei Test2.html sieht man, wie das Applet einfach nicht gestartet wird [AktivitaetenlisteApplet.class])

Java:
import javax.swing.*;
import java.awt.*;

public class HelloWorld extends JApplet
{
    public void init()
    {
        try
        {
            SwingUtilities.invokeAndWait(new Runnable() 
            {
                public void run() 
                {
                    getContentPane().setLayout(null);

                    JLabel einText = 
                            new JLabel("Hello World!");
    
                    einText.setFont(new Font("SanSerif", 
                            Font.ITALIC, 20));
                    einText.setForeground(Color.BLUE);
                    einText.setBounds(0, 0, 200, 120);
                    einText.setHorizontalAlignment
                            (SwingConstants.CENTER);
                    einText.setVerticalAlignment
                            (SwingConstants.CENTER);

                    //Text zur Zeichenfläche hinzufügen
                    getContentPane().add(einText);
                }
            });
        }
        catch(Exception e)
        {
            System.err.println("GUI-Aufbau fehlgeschlagen");
        }
    }
}

HTML:
<html>
    <head>
        <title>HelloWorldApplet</title>
    </head>
    <body>
        <p>HelloWorldApplet</p>
        <hr/>
        <applet code="HelloWorld.class" 
                width="200" height="120" 
                codebase="../../.."
        >
        </applet>
        <hr/>
        <p>...mit &lt;object&gt;-Element</p>
        <object classid="java:HelloWorld.class" 
                codetype="application/java-vm" 
                width="200" height="120"
                codebase="../../.."
        >
        </object>

    </body>
</html>
 
Zuletzt bearbeitet:
Also ich bin gerade überfragt ob das mit der
Code:
codebase
so richtig ist 🙂 Die liegen doch im selben Verzeichnis, also eig. könntest du das meines Wissens weglassen hier!
Und wurden nicht mehr als eine class-Datei erstellt beim Kompilieren? Eine
Code:
HelloWorld$1.class
evtl.? Die müsstest du mit ins Verzeichnis legen ! (oder direkt als jar verpacken alles)
 
Danke erstmal für die Antworten.

Den Guide habe ich sogar gelesen, aber konnte meinen Fehler nicht wirklich finden.

Eine HelloWorld$1.class wurde übrigens erstellt, aber das scheint auch nichts zu ändern. Sollte ich die trotzdem besser reinpacken?

Eigentlich müsste doch das hier schon reichen, damit es läuft. Aber es geht nicht. Es startet einfach gar nichts, wie man auf der oben genannten Seite sieht (habe das Programm in Hello.class umbenannt).

HTML:
<html>
    <head>
        <title>Hello Applet</title>
    </head>
    <body>
        <h1>Hello Applet</h1>
        <hr>
          <applet code="Hello.class" width="400" height="300"></applet>               
        <hr>
    </body>
</html>

edit: Aus irgendeinem Grund geht es manchmal und manchmal nicht. Jetzt gerade funktioniert es plötzlich.
Naja, warum auch immer das so ist - vielleicht liegt es auch einfach an Funpic, denn da habe ich gerade dauernd Verbindungsschwierigkeiten zum FTP-Server - momentan scheint es mit dem Code in dem Post hier zu klappen.

Danke nochmal für die Antworten.
 
Zuletzt bearbeitet:
Die ...$1.class muss im gleichen Verzeichnis liegen, wie deine Hello.class.
Du könntest auch das Konstrukt der anonymen Klasse auflösen, wird ja eigentlich nicht unbedingt benötigt.
Die aktuelle Fehlermeldung aus der Java-Konsole wäre auch interessant.
 
Habe das Thema zwar schon als "erledigt" markiert, aber wollte noch eben sagen, dass es scheinbar zuerst an der .hmtl-Datei lag und ich dann einfach immer Dateien mit dem gleichen Namen hochgeladen habe, weswegen es da zu irgendwelchen Überschneidungen kam.
Es klappt jetzt also und es kommt keine Fehlermeldung mehr.
Danke jedenfalls. 🙂
 

Neue Themen


Zurück
Oben