# Feststellen ob eine andere Seite aufgerufen wurde



## The_S (25. Mai 2005)

Ich hab ein Applet mit mehreren Threads, aber diese werden beim verlassen der Seite ja nicht beendet. Wie kann ich überprüfen ob die Seite verlassen wurde um den Thread abzuschießen? Bzw. gibts da eine andere Möglichkeit?


----------



## Sky (25. Mai 2005)

Bin mir jetzt  nicht so sicher, denke aber das beim Verlassen der Seite die 'stop()'-Methode des Applets aufgerufen wird, oder?

Edit: siehe auch Applet#stop


----------



## perdian (25. Mai 2005)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Ich hab ein Applet mit mehreren Threads, aber diese werden beim verlassen der Seite ja nicht beendet.


Werden sie nicht? Sicher?
Normalweise sollte beim Schließen/Verlassen einer Seite die VM geschlossen werden, und damit auch die Threads beendet werden.


----------



## Sky (25. Mai 2005)

perdian hat gesagt.:
			
		

> Hobbit_Im_Blutrausch hat gesagt.:
> 
> 
> 
> ...


Die VM wird _nur_ beim Beenden der Browser-Instanz geschlossen.


----------



## L-ectron-X (25. Mai 2005)

Also es ist so, wie es sky80 sagt.
Du musst die stop()-Methode aus Applet überschreiben.
Diese wird beim Verlassen einer Seite, bzw. Wechsel zu einer anderen Seite vom Browser aufgerufen.
Beim Schließen des Browsers wird erst die stop()- und dann die destroy()-Methode aus Applet aufgerufen.
Der Browser beendet also die VM, wenn er geschlossen wird.


----------



## HorstHuber (26. Mai 2005)

Was ist mit der Möglichkeit setDeamon(boolean) ?

http://java.sun.com/j2se/1.4.2/docs/api/index.html


----------



## Sky (26. Mai 2005)

HorstHuber hat gesagt.:
			
		

> Was ist mit der Möglichkeit setDeamon(boolean) ?
> 
> http://java.sun.com/j2se/1.4.2/docs/api/index.html


Was soll damit sein ?


----------



## HorstHuber (26. Mai 2005)

Sind Threads dann nicht abhängig von der Hauptklasse und werden beendet, sobald diese geschlossen wird?


----------



## The_S (27. Mai 2005)

Danke, werd mich am Wochenende mal dran setzen und probieren


----------



## AlArenal (27. Mai 2005)

HorstHuber hat gesagt.:
			
		

> Sind Threads dann nicht abhängig von der Hauptklasse und werden beendet, sobald diese geschlossen wird?



Sollte eigentlich. Alles andere fände ich in höchstem Maße sonderbar... 

Nehmen wir den hypothetischen Fall auf jeder Webseite wäre ein Applet mit eigenen Threads, dann würde ich beim Surfen ja nach ner Weile Unmengen toter Threads mitschleppen und mir meine Maschine versumpfen, ehe ich dem Browser mal den Gnadenstoß gebe...


----------



## The_S (27. Mai 2005)

Kannst dir das mal auf meiner Page anschauen! Spiel das Tetrisspiel und wechsel dann einfach so wo anders hin. Nach ner Zeit bekommst du die Meldung, dass du verloren hast, weil das Spiel im Hintergrund weiterläuft.


----------



## L-ectron-X (27. Mai 2005)

Hallo!?


			
				L-ectron-X hat gesagt.:
			
		

> Du musst die stop()-Methode aus Applet überschreiben.


Hast Du? Dort gehört hinein, das Spiel zu beenden bzw. zu unterbrechen.


----------



## The_S (27. Mai 2005)

L-ectron-X hat gesagt.:
			
		

> Hallo!?
> 
> 
> 
> ...



Check ich net. Was meinst du? Ich überschreib die stop()-Methode scho noch gscheid, hab nur momentan keine Zeit


----------



## L-ectron-X (27. Mai 2005)

Dann poste zunächst die fertige stop()-Methode der Appletklasse, wenn du immer noch Probleme hast.


----------



## The_S (27. Mai 2005)

Achso, jetzt hats geklickt :wink: . Ja, wenns net klappt post ich mal die stop()-Methode.


----------



## The_S (28. Mai 2005)

Hab jetzt mal schnell die stop()-Methode überschrieben und dabei festgestellt, dass sie nur aufgerufen wird, wenn ich eine andere HP gehe. Wenn ich weiter auf meiner verbleibe, wird sie nicht aufgerufen. Woran kann das liegen? Was kann ich dagegen machen? Hat damit jemand schonmal Erfahrung gemacht?


----------



## The_S (3. Jun 2005)

*push* :wink: . Ist immernoch aktuell ... Keiner ne Idee, woran das liegen könnte?


----------

