Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe das ganze forum wegen diesem Problem durchgesucht, aber nichts finden können was mir geholfen hat. Zu meinem Problem: ich habe ein Java Applet, das Klassen aus einer JAR Datei benötigt. Die JAR Dateien liegen auch in dem Verzeichnis, in dem das Applet liegt. Irgendwo habe ich gelesen, dass man eine "codebase" im HTML setzen kann. Als codebase habe ich das Verzeichnis angegeben, in dem sich die JAR Datei befindet.
Ob das mit Codebase funktioniert weiss ich nicht, jedoch kannst du kurzfristig den wegumgehen indem du das Package im Applet Tag mit einbindest, oder das Package einfach in das Verzeichnis entpacken. Ist zwar nicht die sauberste Lösung, jedoch kannst du erstmal weiter arbeiten. Vorteil dabei wäre dann auch das nicht das ganze Package übertragen wird.
Die NullPointerException zeigt an, dass dein Applet bereits gestartet wurde, aber ein Objekt nicht referenziert werden konnte. Das hängt vermutlich mit dem archive-Attribut zusammen.
Nein, funktioniert leider auch nicht. Kann es am Applet selbst liegen? Das Applet ruft eine Swing Anwendung auf. Könnte das das Problem sein? Kann ich durch ein Applet eine Swing Anwendung starten?
Ich habe das Applet mal als normales Programm mit ner void main() Methode ausprobiert, das funktioniert einwandfrei. Ich habe aber kein "package de.irgendwas" am Anfang des Programmes stehen, falls Du das mit Package Struktur meinst. In den JARs sind aber Pfade in der Form "de.irgendwas/iitb/util" enthalten.
Wie finde ich heraus wo die NullPointerExecption ausgelöst wird? Ich vermute mal das das in einer anderen Klasse passiert. Wenn ich den Aufruf eines Objektes einer anderen Klasse auskommentiere, gibts keine Fehlermeldung.
Wie du herausfindest, wo eine NullPointerException geworfen wird?
Du weißt doch bereits, dass eine geworfen wird. Guck dir die Interpreter-Ausgabe (in der Java-Console bei Applets, in der Console bei eine Applikation) an, da steht wo.
package.Klasse.methode() Zeile
Also den Code habe ich im Netbeans geschrieben, aber ich habe es nicht geschafft das Applet über Netbeans zu starten. Deshalb öffne ich es immer mit Mozilla. Habe jetzt aber mal Eclipse benutzt, und damit das Applet gestartet. Funktioniert wunderbar. Er öffnet die Swing Applikation im neuen Fenster, genau so wie ich es haben will. Aber wie gesagt, sobald ich es im Mozilla öffne gibts Probleme. Liegt das vielleicht an der HTML-Datei, die das Applet aufruft?
Hm ja, das mit Packages in Applets war bei mir auch immer etwas tricky...
Versuche mal im Applet die Package-Deklaration zu entfernen und das Applet mit angepasstem Applet-Tag zu starten.
Hab ich grade versucht, aber nutzt leider nichts. Wie gesagt, in Eclipse läuft das Applet wunderbar. Hab jetzt alles mögliche ausprobiert, die JARs entpackt, das Applet in dem Verzeichnis erstellt in dem auch die ganzen benötigten Klassen sind usw.
Java Plug-in 1.5.0_04
Verwendung der JRE-Version 1.5.0_04 Java HotSpot(TM) Client VM
Home-Verzeichnis des Benutzers = /home01_phys/caesar
----------------------------------------------------
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
----------------------------------------------------
Visco does not seem to be available, ViscoIITBController.initController java.lang.ExceptionInInitializerError
java.lang.NullPointerException
at de.fraunhofer.iitb.IITBClient.IITBVisco.ViscoIITBController.initViscoModul(ViscoIITBController.java:216)
at appltest.start(appltest.java:33)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Es sieht so aus als ob er sich verabschiedet sobald er ein Swing Fenster aufmachen soll.