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.
Unterklassen rufen in der Klasse noch Methoden auf, bei bestimmten Events. Das ganze ist ein Spiel, das bei einem bestimmten Event (Zeit abgelaufen) eine Meldung anzeigt das man verloren hat. Wenn das passiert ruft die Unterklasse eine Methode ind er Klasse auf die sich vorher beendet haben soll. Aber die Methode wird trotzdem noch aufgerufen und mir die Meldung angezeigt.
Versteh nur ich nicht was er versucht? Hab's im ersten Post schon nicht verstanden und daher noch nicht geantwortet gehabt.
Du kannst eine Klasse nicht beenden, wenn überhaupt eine Instanz der Klasse aber auch die kannst du nicht explizit beenden außer die Klasse wäre eine Dauerscheife mit (z.B.) while(!run) als Abbruchbedingung.
> Unterklassen rufen in der Klasse noch Methoden auf, bei bestimmten Events.
sind das andere Threads oder der gleiche Thread, der aktuell über dispose() nachdenkt?
jedenfalls kann man derartiges nicht abbrechen,
höchstens als abbrechungswürdig markieren (irgendeinen boolean auf true setzen) und hoffen, dass andere das irgendwann mal merken und selbständig aufhören
Schade, das man net einfach sagen kann this.kill();
Ich hab zwar jetzt eine Möglichkeit gefunden, das nichts mehr agezeigt wird, aber mein Programm wird unheimlich langsam wenn ich die Klasse wieder starte!
Mein Programm ist so aufgebaut das es ein Hauptmenü gibt das das Spielfenster über einen Button öffnet im Spielfenster gibt es eine Button "Zurück". Mit diesem wird wieder das Hauptmenü geöffnet. Hier sollte die Spielfenster Klasse weggeworfen werden. Wenn man im Hauptmenü wieder die Spielfensterklasse aufruft ist das Spiel sehr viel langsamer geworden, weil die alte Spielfensterklasse im Hintergrund noch läuft obwohl das Fenster bereits mit this.dispose() geschlossen wurde.
Mein Programm ist so aufgebaut das es ein Hauptmenü gibt das das Spielfenster über einen Button öffnet im Spielfenster gibt es eine Button "Zurück". Mit diesem wird wieder das Hauptmenü geöffnet. Hier sollte die Spielfenster Klasse weggeworfen werden
Mit wegwerfen meine ich das die Ausführung von Code der noch im Speicher liegt nicht mehr ausgeführt werden kann. Wie als wenn ich auf das große X klicke aber nur eine Klasse beendet wird und nicht das gesamte Programm.
Du musst schon selbst implementieren, was von deinen Code so betroffen sein soll.
Wenn du verschiedene Threads startest, dann musst du dafür sorgen, dass sie beendet werden.
Wenn du Datei- oder Datenbankverbindungen auf machst, musst du dafür sorgen, dass sie sauber geschlossen werden.
Nur weil z.B. die GUI unsichtbar bzw. beendet wurde heisst das nicht, dass sein ganzer Hintergrundkram automatisch sich in Luft auflöst.