Applet Applet startet nach Einbinden auf Website nicht

Angel4585

Bekanntes Mitglied
Hallo,

ich hab ein NetBeans ein Applet gemacht. In NetBeans selbst hat das auch sehr gut funktioniert und wurde ausgeführt.
Jetzt wollte ich das auf meiner Website einbinden, dort funktioniert das aber nicht.

Die Lade-Fehler habe ich in den Griff bekommen, aber jetzt bleibt das Applet einfach weiss.

Ich hab jetzt nicht soo die Erfahrung,deswegen weis ich nicht ob ich beim Applet selbst etwas vergessen habe.

Auf der Website selbst wird das so eingebunden:
Java:
<applet codebase="http://www.soccerfusion.de/tests" archive="SFLib.jar" code="viewer/TestApplet.class" width="308" height="208">
</applet>
Das Applet selbst hat folgenden Code:
Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package viewer;

import javax.swing.JApplet;
import klassen.SFMatch;

/**
 *
 * @author MaWe4585
 */
public class TestApplet extends JApplet {

    /**
     * Initialization method that will be called after the applet is loaded
     * into the browser.
     */
    public void init() {
        // TODO start asynchronous download of heavy resources
        SFPane p =new SFPane();
        p.doInit(SFMatch.getDemoMatch());
        setContentPane(p);
    }

    // TODO overwrite start(), stop() and destroy() methods

}

Jetzt weis ich nicht,ob das Problem im Applet-Code liegt, oder im restlichen.
Es wird ein Fussballspiel in 2D simuliert.Ich habe zwei Threads, einen zur Berechnung der Spielzüge und einer zur grafischen Ausgabe auf dem JPanel.
Ich hoffe mir kann jemand helfen, damit das Applet dann auch das Match abspielt.


edit: scheinbar liegt es an der paintComponent Methode der SFPane-Komponente.
Java:
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        /*
        ImageIcon icon = new ImageIcon(getClass().getResource("../images/field_green.png"));
        g.drawImage(icon.getImage(), 0,0,306,206,this);
        */
    }
Wenn ich den auskommentierten Teil rein mache,bleibt das Applet weiss.
Wenn ich das auskommentiere wie hier, zeigt es mir das Hintergrundbild nicht an, aber der Rest funktioniert.
 
Zuletzt bearbeitet:
Ganz allgemein: Wenn du das Applet startest, sollte es irgendeine Möglichkeit geben, Informationen zu erhalten. Bei Firefox z.B. im Menü "Extras->Java Console". Ggf. kann man die bei dir auch über ein kleines Symbol unten rechts in der Taskleiste öffnen, oder über die Systemsteuerung unter "Java".

Auf dieser Console wird dann was mit "NullPointerException" stehen, weil er das Bild nicht findet 😉 Man kann innerhalb einer JAR nicht mit "../" ins übergeordnete Verzeichnis navigieren. Du musst dein images-Unterverzeichnis in das Verzeichnis tun, wo auch die .class-Dateien drin liegen, und das Bild dann ohne die "../" laden.
 
Ähmf aber mal was ganz anderes: Es macht keinen Sinn, das Bild bei JEDEM Neuzeichnen neu zu laden. Das Bild sollte nur EINmal geladen werden...
 
...und das macht man am besten in der init()- oder in der start()-Methode.
BTW: Hilfe zum Einbinden von Applets findest du auch in der FAQ.
 

Neue Themen


Zurück
Oben