public void init wird nicht aufgerufen

Status
Nicht offen für weitere Antworten.

The_S

Top Contributor
Ich habe ein Applet, dieses hat eine public void init Methode. Jetzt zeige ich das nur nicht auf gewöhnlichen weg in einer WebSite an, sondern ich zeige es in einem JPanel in einem anderen Applet an. Wenn ich das jetzt dem JPanel adde, wird blöderweiße nicht die public void init Methode aufgerufen, sonst funktioniert aber alles.

Klassen erzeugen und in einer Hashmap speichern

Code:
	void fillClasses() { 

		Wins4 forwins = new Wins4();
		Hangman hang = new Hangman(); 
		TetriX tet = new TetriX();
		Zufallszahl zufall = new Zufallszahl();
		Quiz qz = new Quiz();
		classCollection.put(classes[0], forwins);
		classCollection.put(classes[1], hang);
		classCollection.put(classes[2], tet);
		classCollection.put(classes[3], zufall);
		classCollection.put(classes[4], qz); 
	}

Klassen adden

Code:
	public void hyperlinkUpdate(HyperlinkEvent hyl) { 
            ...
				else if (hyl.getDescription().endsWith(".class")) { 
					mainPane.remove(scroll); 
					showAp.removeAll(); 
					showAp.add((JApplet)classCollection.get(hyl.getDescription())); 
					mainPane.add(showAp); 
					validate(); 
					repaint(); 
					panelAk = true; 
					up.show = hyl.getDescription().replaceAll("_", " ").substring(0, hyl.getDescription().length() - 6); 
					up.repaint(); 
				} 
            ...
	}

Ausschnitte einer Klasse

Code:
import java.awt.*; 
import java.awt.event.*; 
import java.io.*; 
import java.net.*;
import javax.swing.*; 

public class Hangman extends JApplet implements ActionListener { 
...
    public void init() { 
        
        getWords();
    }
...
}

Weiß jemand woran das liegt?
 
G

Guest

Gast
init() wird doch vom Browser aufgerufen und nicht automagisch beim Instanzieren eines Applets.
Oder habe ich dich falsch verstanden? ???:L
 
N

na-oma

Gast
warum rufst du die init-methode nicht selbst auf?

init wird doch nur von browser beim starten eines direkt in die html-seite eingebundenen applets aufgerufen, aber nicht, wenn es irgendwie anders angezeigt wird.
dann bist du quasi der browser der sich um das korrekte aufrufen der methoden kümmern muss...
 

Sky

Top Contributor
public void init() hat gesagt.:
Called by the browser or applet viewer to inform this applet that it has been loaded into the system. It is always called before the first time that the start method is called. ...
 

The_S

Top Contributor
Ah, danke! Das habe ich nicht gewusst! Wie kann ich die Methode selbst zum Start aufrufen? In

Code:
public MeineKlasse() {

kann ichs nicht setzen, weil ich in der init u. a. auf die CodeBase zugreife ...
 

Sky

Top Contributor
Code:
MeinApplet meinApplet = new MeinApplet();
meinApplet.init();
 

The_S

Top Contributor
Soll ich das dann gleich danach aufrufen, wenn ich das Applet erzeuge, oder erst wenn ich es dem JPanel übergebe? Vermutlich gleich beim erzeugen ... Moment ich teste es mal aus!

[edit] Blöd das! Er meckert, dass er CodeBase nicht kennt. Liegt das daran, dass das Applet nicht direkt in der WebSite selbst eingebettet ist!?
 

Sky

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
[edit] Blöd das! Er meckert, dass er CodeBase nicht kennt. Liegt das daran, dass das Applet nicht direkt in der WebSite selbst eingebettet ist!?
Du weißt doch mittlerweile: Bißchen Konkreter werden! Kennt er die Methode nicht oder kann er die CodeBase nicht ermitteln ?
 

The_S

Top Contributor
Sry!!!

java.lang.NullPointerException
at java.applet.Applet.getCodeBase(Unknown Source)
at Quiz.setFua(Quiz.java:36)
at Quiz.init(Quiz.java:85)
at Fenster.fillClasses(Fenster.java:56)
at Fenster.init(Fenster.java:46)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Werds jetzt erstma anders versuchen, indem ich die CodeBase in meinem Hauptapplet auslese und diese dann der Klasse übergebe.
 

The_S

Top Contributor
AppletStub?

Wenn ich die CodeBase im Hauptapplet auslese und dann den anderen Applets übergebe funktionierts! Thx!
 

Sky

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
Ja. Jedes Applet bekommt beim Start ein eigenes Stub gesetzt (siehe auch Interface "AppletStub"). Dies wird vom System gesetzt.

Das AppletStub stellt Methoden wie "getCodeBase" oder auch "getParameter" zur Verfügung. Wenn ein Applet mittels new erzeugt wird, so wird durch das System kein Stub gesetzt und deshalb bekommst Du beim Aufruf dieser Methoden eine NullPointerException.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Warum muss void main() public sein? Allgemeine Java-Themen 3
S auf public void Methode zugreifen ohne static Allgemeine Java-Themen 11
MQue public void serialEvent(SerialPortEvent event) Allgemeine Java-Themen 4
J Warum heißt es eig. "public static void main" ? Allgemeine Java-Themen 4
S public void actionPerformed Allgemeine Java-Themen 5
N this im public static void Allgemeine Java-Themen 3
G Public oder Private oder Protected Sinn Allgemeine Java-Themen 14
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
T Abgeleitetes Interface public ohne Schlüsselwort "interface"? Allgemeine Java-Themen 3
ReinerCoder Klasse kann nicht public deklariert werden Allgemeine Java-Themen 2
I Java: public final Werte: Gute oder schlechte Praxis? Allgemeine Java-Themen 6
C Email mit public-key verschlüsseln Allgemeine Java-Themen 0
X public Getter ersetzen (Reflection?!) Allgemeine Java-Themen 3
Thallius Warum ist meine private porperty public? Allgemeine Java-Themen 7
T Schlüsselworte mehrere public-Klassen in einem Paket Allgemeine Java-Themen 7
B public class JarFilter extends FileFilter « Falsch? Allgemeine Java-Themen 4
M Public Static importRunning -> Bad Design oder ok ? Allgemeine Java-Themen 5
J public array? Allgemeine Java-Themen 5
N Polygon Klasse mit public Membern Allgemeine Java-Themen 4
P Private und public Allgemeine Java-Themen 2
S XML-Parsing / public-Member-Variablen / Design-Frage Allgemeine Java-Themen 8
V Public SVN benutzen? Allgemeine Java-Themen 11
D public boolean return Allgemeine Java-Themen 8
O Methoden in abstrakter Klasse: public oder protected? Allgemeine Java-Themen 16
lumo Row Header ist public, zeigt die funktion aber nicht public Allgemeine Java-Themen 8
F packages, public methods, assertions und argumentchecking. Allgemeine Java-Themen 3
M public class Cannix() Allgemeine Java-Themen 5
G Probleme bei String Übergabe um Public Key zu erzeugen ? Allgemeine Java-Themen 6
M ist "public abstract class * extends" möglich? Allgemeine Java-Themen 2
D Kein public Konstruktor Allgemeine Java-Themen 4
G private vs. public JRE Allgemeine Java-Themen 3
C public boolean containsAll(Collection c) Allgemeine Java-Themen 2
M Wie kann man eine void Methode mit Variablen von zwei verschiedenen Objekten ausführen? Allgemeine Java-Themen 15
P Variablen Variable von void im ActionListener verwenden Allgemeine Java-Themen 3
M Variablen Variablenzugriff aus static void Allgemeine Java-Themen 21
D Frage zu der Methode void print(file File) Allgemeine Java-Themen 3
badfish Inerhalb der [void main] auf ein Objekt der [protected void] zugreifen Allgemeine Java-Themen 13
B Exception in Application init method Allgemeine Java-Themen 5
M Eclipse - Fehler: Hauptklasse de.xyz.init.MeineKlasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 2
B Zugriff auf Attribute/Methoden der init-Klasse Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben