Applet in HTML einbinden

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Applet in HTML einbinden

    Guten Abend!

    Ich möchte jetzt ein geschriebenes Programm per HTML einbinden, so dass ich das hochladen kann und jemand schicken kann und er dann das Programm ausführen kann.

    Der HTML Code ist dieser:

    <html>
    <head>
    <title>Java-Applets als Objekt einbinden</title>
    </head>
    <body>

    <h1>Fischtest</h1>

    <p>
    <applet>Nemo.java</applet>
    </p>

    </body>
    </html>


    Ich habe das Hauptprogramm in "Nemo.java" gespeichert. Dazu habe ich noch die Klasse: "Fisch.java"

    Wie genau muss ich das jetzt machen?[/quote]
    Dateien
    • Fischtest.rar

      (5,82 kB, 462 mal heruntergeladen, zuletzt: )
  • Funktioniert leider auch nicht, aber in "Fisch" habe ich ja nur meine Methoden gespeichert. Die Main ist ja in "Nemo".

    Wenn ich die html Seite mit dem IE oder Firefox öffne kommt nen weißes Feld mit nem Kreuz oben links. Und in der JavaConsole steht folgendes:

    Laden: Klasse Fisch.class width= nicht gefunden
    java.lang.ClassNotFoundException: Fisch.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: D:\Eclipse\Fischtest\Fisch\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-8" 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)


    Bei dem Code von dir.


    Mit "Nemo" passiert das:

    Laden: Klasse Nemo.class width= nicht gefunden
    java.lang.ClassNotFoundException: Nemo.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: D:\Eclipse\Fischtest\Nemo\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-16" 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)
  • gut, jetzt hab ich mir deinen code mal angeschaut...

    ich glaube du denkst dir das ein bisschen zu einfach
    ein programm, dass in der konsole funktioniert, kannst du nicht einfach mal in ein applet umwandeln

    also du müsstest du erstmal java.awt.* und java.applet.* importieren.. und die ausgabe ginge auch nicht ganz so einfach

    es folgt ein beispiel applet aus der vorlesung von proff. schwanecke

    Quellcode

    1. import java.applet.*;
    2. import java.awt.*;
    3. public class HelloWorld extends Applet{
    4. StringBuffer buffer;
    5. public void init() {
    6. buffer = new StringBuffer();
    7. addItem("Initializing...");
    8. }
    9. public void start() {
    10. addItem("Starting...");
    11. }
    12. public void stop() {
    13. addItem("Stopping...");
    14. }
    15. public void destroy() {
    16. addItem("Preparing for unloading ...");
    17. }
    18. void addItem(String s) {
    19. System.out.println(s);
    20. buffer.append(s);
    21. repaint();
    22. }
    23. public void paint(Graphics g) {
    24. g.drawString(buffer.toString(), 5, 15);
    25. }
    26. }
    Alles anzeigen


    wie du dort siehst ist die ausgabe in eine extra funktion gepackt.. die den text im applet ausgibt

    die bräuchtest du auch


    ABER jetzt die allesentscheidende frage
    Muss der Code unbedingt als Applet weitergegeben werden?

    Gib den Code zum Download bereit und der User kann ihn in der Konsole ausführen?
    Denn Java muss er so oder so installiert haben

    Gruß, d0n
  • naja... also sie muss auf jeden fall Java installiert haben..
    aber das ist auch voraussetzung, dass es im browser funktioniert hätte

    ich weiß jetzt nicht wie wichtig dir die aktion ist.
    aber falls du es jetzt seeeeehr idiotenischer machen willst
    hier ne kurze anleitung

    1. BATch Datei erstellen
    (KLASSE durch den klassenname ersetzen.. also dateiname ohne .class)
    cd %0 sorgt dafür, dass du in das verzeichnis wechselst, in dem sich deine .exe befindet

    Quellcode

    1. @echo off
    2. cmd.exe
    3. cd %0
    4. java KLASSE


    2. BATch in exe datei umwandeln
    z.B. damit: http://www.itlocation.com/de/software/prd63973,,.htm

    3. alles losschicken


    an punkt 1 erkennst du auch, wie du die anwendung in der konsole starten
    A) Konsole ausrühren (Win-Taste und R) -> cmd -> ENTER
    B) mit "cd" ins zielverzeichnis wechseln
    C) java KLASSE
  • Also das mit der CMD funktioniert ja einwandfrei. Allerdings gibt es noch nen Problem mit der *.exe
    Wenn ich die *.exe rufe geht er in ein ganz anderes Verzeichnis, als wenn ich die *.bat starte.

    die *.bat Datei:
    [Blockierte Grafik: http://www.250kb.de/u/060222/p/00dd4b34.png]

    die *.exe Datei:
    [Blockierte Grafik: http://www.250kb.de/u/060222/p/28923c50.png]

    Und vielen Dank für die Hilfe! Ist echt super :)