Applets Java


En esta p�gina:


Ciclo de vida de un applet

Como hemos visto, un applet se ejecuta en una p�gina web y ese entorno en el que est� va a determinar el ciclo de vida del mismo. La clase Applet dispone de varios m�todos sin c�digo dentro a los que llama en diversas fases de su ciclo de vida (al crearse el applet, al redibujarse, al destruirse...). Si deseamos que nuestro applet haga cosas especiales en esos momentos deberemos sobreescribir esos m�todos. Son �stos:

void init()
Este m�todo se llama al crearse el applet y s�lo se ejecuta esa vez. Se suele utilizar para inicializar variables globales.
void start()
Se llama cuando hay que activar el applet. Esto sucede cuando el applet se ve en la pantalla. Se suele utilizar para comenzar las actividades de applet, ya que en general �ste debe estar visible en la pantalla para poder realizar su funci�n.
void stop()
Es el inverso del anterior. Es llamado cuando el applet deja de estar visible. Se suele utilizar para interrumpir las actividades activadas en start().
void destroy()
M�todo llamado al destruirse el applet. Normalmente no se suele sobreescribir, ya que la destrucci�n del applet conlleva la destrucci�n de todo lo que se ha creado en �l. Puede ser �til para mostrar una ventana de confirmaci�n que pregunte al usuario si de verdad debe carg�rselo.
void repaint()
Este m�todo no deber�a ser sobrecargado y es llamado cuando se necesita redibujar el applet. Podemos llamarlo nosotros desde nuestro c�digo. Llama a update(Graphics).
void update(Graphics)
Llamado por repaint() cuando se necesita actualizar el applet. Su implementaci�n borra el rect�ngulo y llama a paint() para volver a pintarlo.
void paint(Graphics)
M�todo en el que se dibuja el applet y el cual deberemos sobreescribir para poder dibujar lo que nosotros deseemos..
void print(Graphics)
Equivalente a paint() pero es llamado cuando se va a imprimir el contenido del applet.

El siguiente ejemplo conviene observarlo desde un navegador e ir viendo los distintos mensajes que nos muestra el applet, para comprender cuando son llamados los m�todos:

CicloDeVida.java
/**
 * Applet CicloDeVida
 *
 * <APPLET CODE="CicloDeVida.class" WIDTH="100" HEIGHT="400"></APPLET>
 */

import java.applet.Applet;
import java.awt.Graphics;

public class CicloDeVida extends Applet {
  String mensajes;
  public void init() {
    mensajes = "Inicializando. ";
  }
  public void start() {
    escribirMensaje("M�todo start. ");
  }
  public void stop() {
    escribirMensaje("M�todo stop. ");
  }
  public void destroy() {
    escribirMensaje("Destruyendo Applet. ");
  }
  void escribirMensaje(String nuevoMensaje) {
    mensajes += nuevoMensaje;
    repaint();
  }
  public void paint(Graphics g) {
    g.drawString(mensajes, 5, 15);
  }
}