La clase Applet Java, de la cual han de heredar todos los programas Java que vayan a actuar como applets, es la única clase que contiene el paquete java.applet de la API de Java.
Esta clase hereda de Object (como todas las clases Java), pero además hereda de Component y Container, que son dos clases del paquete gráfico AWT. Esto ya perfila las posibilidades gráficas de este tipo de aplicaciones Java.
B. Métodos del ciclo de vidaComo ya se ha indicado una applet no tiene un ciclo de vida tan "sencillo" como el de una aplicación, que simplemente se ejecuta hasta que finaliza su método main().
La siguiente figura modeliza el ciclo de vida de una applet:
Imagen 11: Ciclo de vida de una applet
Cada círculo representa una fase en el ciclo de vida de la applet. Las flechas representan transiciones y el texto representa la acción que causa la transición. Cada fase está marcada con una invocación a un método de la applet:
Al crear una applet no es necesario implementar todos estos métodos. De hecho habrá applets que no los necesiten.
Cuando un navegador carga una página Web que contiene una applet, suele mostrar en su parte inferior un mensaje como:
initializing... starting...Esto indica que la applet, se está cargando:
1. Una instancia de la clase applet es creada.
2. La applet es iniciada, mediante su método init().
3. La applet empieza a ejecutarse, mediante su método start().
Cuando el usuario se encuentra con una página Web, que contiene una applet y salta a otra página, entonces la applet se detiene invocando a su método stop(). Si el usuario retorna a la página donde reside la applet, ésta vuelve a ejecutarse nuevamente invocando a su método start().
Cuando el usuario sale del navegador la applet tiene un tiempo para finalizar su ejecución y hacer una limpieza final, mediante el método destroy().
C. La clase URLUn URL (Uniform Resource Locator) es una dirección de Internet. Cada recurso (fichero, página Web, imagen...) tiene uno propio. En Java existe una clase denominada URL que modeliza esta clase de objetos.
La clase URL pertenece al paquete java.net, y tiene una cierta importancia en el desarrollo de las applets, puesto que muchos de los métodos de la clase Applet la utilizan para acceder a determinado recurso de Internet o para identificarse.
Podemos especificar un URL de manera absoluta:
URL URLabsoluto = new URL("http://www.host.com/dir/fich.htm");O bien podemos especificar un URL de manera relativa:
URL URLhost = new URL("http://www.Javasoft.com/"); URL URLrelativo = new URL( URLhost, "dir/fich.htm");Ambos ejemplos corresponderían al URL "http://www.host.com/dir/fich.htm".
D. Inclusión de la applet en una página WebPara incluir una applet en una página Web, una vez compilada la applet, debe incluirse entre el código HTML de la página Web una etiqueta <APPLET>, que como mínimo ha de presentar los siguientes tres parámetros:
Además, de la etiqueta inicial, una applet puede tener parámetros que se especificarán mediante etiquetas <PARAM>, que como mínimo han de presentar dos parámetros:
Así un ejemplo de esto sería:
<applet code="AppletDiagonal.class" width=200 height=200> <param name=Parametro1 value=Valor1> <param name=Parametro2 value=Valor2> </applet>En este ejemplo la applet puede entender los parámetro Parametro1 y Parametro2, mediante los métodos que se describen en el siguiente apartado, y obtendría Valor1 y Valor2 respectivamente.
Se observa que además de la etiqueta <applet> en el código HTML también aparece una etiqueta </applet>. Esto sucede porque HTML es un lenguaje pareado, en el que casi todas las etiquetas de inicio de elemento (<etiq>) tienen una etiqueta de fin (</etiq>).
E. Obtención de los parámetros de la appletCuando se incluye una applet en una página Web ha de hacerse mediante la etiqueta HTML <applet>. Las etiquetas HTML permiten utilizar parámetros, y la etiqueta <applet> hace lo propio, permitiendo a la applet recibir parámetros de ejecución, tal y como una aplicación los recibe en el parámetro s (un vector de cadenas) de su método main(String[] s).
Los siguientes métodos se utilizan para extraer información de los parámetros que recibió la applet cuando fue llamada desde el código HTML:
Si por ejemplo se llamase a una applet, con el código HTML:
<applet code="AppletParam.class" width=50 height=50> <param name=Color value="red"> </applet>Una llamada en esta applet al método getParameter("Color") devolverá "red".
F. Obtención de información sobre una appletAlgunos métodos de la applet se utilizan para comunicar información o mostrar mensajes en la pantalla referentes a la applet:
Un ejemplo de como definir este método para una applet que permita un solo parámetro, color, sería:
public String[][] getParameterInfo() { String info[][] = { {"Color","String","foreground color"} }; return info; }G. Manipulación del entorno de una applet
Algunas applets pueden afectar al entorno en que están ejecutándose. Para ello se utilizan los métodos:
La clase Applet también incluye métodos para trabajar con imágenes y ficheros de sonido de Internet mediante la utilización de URLs. Para ello implementa los métodos:
Mediante el uso adecuado de varios de estos métodos se pueden combinar sonidos e imágenes para conseguir efectos espectaculares.