Ciao a tutti!

Il dubbio mi è sorto rispondendo alla domanda di un mio amico sul ciclo di vita delle applet. Per quanto ne so (studiando dalla documentazione e da vari libri) i metodi vengono chiamati come segue:

init : al caricamento dell'applet

start : dopo init e ogni volta che l'applet entra nel campo visivo del browser

stop : prima di destroy e ogni volta che l'applet esce dal campo visivo del browser (scrollo la pagina finchè l'applet scompare, riduco il browser a icona, ecc...)

destroy : quando l'applet viene definitivamente scaricata


Per dimostrarlo ho scritto il seguente codice :

codice:
import java.applet.*;
import javax.swing.*;

public class JHello extends JApplet
{       
	public void init()
	{
            getContentPane().add(new JLabel("Hello!"));
            System.out.println("Init called");                 
	}

	public void start()
	{
            System.out.println("Start called");            
	}

	public void stop()
	{
            System.out.println("Stop called");                                
	}

	public void destroy()
	{
            System.out.println("Destroy called");
        }
}

che dovrebbe stampare sulla console di Java la varie fasi del ciclo di vita. Con appletviewer funziona tutto come previsto, ma sui browser no !

Viene chiamato init(), start() e basta, nessuna traccia nè di stop nè di start, sia riducendo a icona che scrollando, fino a che non distruggo l'applet, dove vengono effettivamente chiamati stop() e destroy(),

Ho provato su diversi browser (IE, Mozilla, Konqueror, ecc...), sempre stesso risultato.


Che dipenda dall'html (in cui metto solo <applet code ="NomeClasse">...</applet> ) ?

Potreste provare anche voi?

Grazie