APPLETS EN JAVA
A continuación se dara una breve explicación de los applets en java:
Los applets (miniaplicación) son programas escritos en Java que sirven para "dar vida" a las páginas Web (interacción en tiempo real, inclusión de animaciones, sonidos...), de ahí su potencia.
Los applets son programas que se incluyen en las páginas Web. Las applets son ejecutadas en la máquina cliente, con lo que no existen ralentizaciones por la saturación del ancho de banda. Permiten cargar a través de la red una aplicación portable que se ejecuta en el navegador. Para que esto ocurra tan sólo hace falta que el navegador sea capaz de interpretar Java.
Los applets no son exactamente aplicaciones Java, ya que presentan las siguientes diferencias respecto a las aplicaciones normales Java:
• Se cargan mediante un navegador, no siendo lanzados por el intérprete Java.
• Son cargados a través de la red por medio de páginas HTML y no residen en el disco duro de la máquina que los ejecuta.
• Poseen un ciclo de vida diferente; mientras que una aplicación se lanza una vez, una applet se arranca (inicia) cada vez que el usuario recarga la página en la que se encuentra la applet.
• Tienen menos derechos que una aplicación clásica, por razones de seguridad. De modo predeterminado en el puesto que los ejecuta no pueden ni leer ni escribir ficheros, ni lanzar programas, ni cargar DLLs. Sólo pueden comunicarse con el servidor Web en que se encuentra la página Web que las contiene.
LA CLASE APPLET
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.
Métodos del ciclo de vida
Un 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:
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:
void init(); Es invocado cuando se carga la applet. Aquí se suelen introducir las iniciaciones que la applet necesite.
void start(); Es invocado cuando la applet, después de haber sido cargada, ha sido parada (cambio de página Web, minimización del navegador,...), y de nuevo activada (vuelta a la página, restauración del navegador,...). Se informa a la applet de que tiene que empezar su funcionamiento.
void stop(); Es invocado para informar a la applet de que debe de parar su ejecución. Así una applet que utilice threads, debería detenerlos en el código de este método.
void destroy(); Es invocado para informar a la applet de que su espacio está siendo solicitado por el sistema, es decir el usuario abandona el navegador. La applet debe de aprovechar este momento para liberar o destruir los recursos que está utilizando.
void paint(); Es invocado cada vez que hay que el navegador redibuja 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, luego:
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().
Inclusión de la applet en una página Web
Para 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:
code: Especifica el URL del fichero de clase Java (*.class) que contiene la applet.
width: Especifica la anchura inicial de la applet (en pixels).
heigth: Especifica la altura inicial de la applet (en pixels).
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:
name: Indica el nombre del parámetro de la applet al que esta etiqueta hace referencia.
value: Establece este valor al parámetro indicado en name de la misma etiqueta.
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 etiquetado, en el que casi todas las etiquetas de inicio de elemento (<etiq>) tienen una etiqueta de fin (</etiq>).
EJEMPLO DE UN APPLET
A continuación se mostrara un sencillo ejemplo de un applet:
Código
Para crear una applet normalmente será necesario importar al menos las bibliotecas java.awt.* y la java.applet.*.
La clase que represente a la applet se ha de declarar como una subclase de la clase Applet, para poder sobreescribir los métodos de la clase Applet.
Siempre conviene sobreescribir al menos el método paint() que será llamado por los navegadores que soporten applets para mostrarles por pantalla.
Vamos a construir una applet denominada AppletDiagonal que simplemente dibuje una línea diagonal. Un ejemplo de código para este applet sería:
import java.awt.*;
import java.applet.*;
public class AppletDiagonal extends Applet {
public void paint(Graphics g)
{
g.setColor( Color.red );
g.drawLine(0, 0, getWidth(), getHeight() );
}
}
Pasemos a comentar el funcionamiento de este código:
1. El método paint() recibe un objeto de la clase Graphics. La clase Graphics, incluida en el AWT, contiene métodos para mostrar varios tipos de gráficos.
2. Mediante el método setColor() de la clase Graphics se establece el color de primer plano a rojo, que es uno de los colores predefinidos de la clase Color.
3. Por último, mediante drawLine() se dibuja una línea dadas las coordenadas de su esquina superior izquierda y de la inferior derecha. En este caso se indican la esquina superior izquierda de la applet mediante las coordenadas (0,0), y la esquina inferior derecha se obtiene mediante dos métodos de la clase Dimension ( getWidth(), getHeight() ).
Ejecución
Para ejecutar la applet, una vez compilado el fichero, se introduce la llamada a la applet en una página Web (por ejemplo AppletDiagonal.htm), introduciendo entre su código HTML lo siguiente:
<applet code="AppletDiagonal.class" width=200 height=200>
</applet>
No hay comentarios:
Publicar un comentario