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