Desarrollo y Ejecución de Applets en Java: Ciclo de Vida, Threads y Configuración HTML

Applets en Java

La clase Applet, contenida en el paquete java.applet, proporciona las herramientas necesarias para la creación de applets. Para desarrollar un applet, es necesario importar este paquete, así como java.awt, java.awt.event y javax.swing, que contienen los elementos para construir interfaces gráficas.

Un applet es un programa diseñado para ser ejecutado dentro de un navegador web o utilizando la herramienta appletviewer.exe del SDK de Java.

Los applets ofrecen la ventaja de ejecutarse en el navegador del cliente a través de Internet. Sin embargo, tienen restricciones de seguridad impuestas por los diseñadores de Java para proteger los equipos donde se ejecutan:

  • a) No pueden leer ni escribir en el sistema de archivos desde un navegador.
  • b) Solo tienen acceso al servidor definido dentro del applet en programas que usan sockets.
  • c) No pueden ejecutar programas en el cliente.
  • d) No pueden cargar programas nativos, incluyendo DLLs.

Ciclo de Vida de un Applet

Un applet hereda propiedades y métodos de la clase Applet del paquete java.applet. El usuario puede sobreescribir varios métodos para personalizar su funcionalidad. Estos métodos siguen un ciclo de vida específico:

Diagrama del ciclo de vida de un applet

  • init(): Se ejecuta una sola vez al cargar el applet y se utiliza para inicializar variables.
  • start(): Se ejecuta después de init() y permite reinicializar un applet. Se llama cada vez que el documento HTML que contiene el applet se muestra.
  • paint(): Se ejecuta cada vez que se necesita repintar la salida del applet.
  • stop(): Se ejecuta cuando el navegador abandona la página HTML que contiene el applet. Se utiliza para detener el applet, que puede reiniciarse con start().
  • destroy(): Se ejecuta cuando el entorno determina que el applet debe ser eliminado de la memoria. Siempre se ejecuta después de stop().

Threads en Java

La Máquina Virtual Java (JVM) es un sistema multithread, capaz de ejecutar varias secuencias de ejecución (threads o hilos) simultáneamente. La JVM gestiona la asignación de tiempos de ejecución, prioridades, etc., de manera similar a como un Sistema Operativo gestiona múltiples procesos. La diferencia principal es que los threads Java corren dentro de la JVM, compartiendo recursos como memoria, variables y objetos. A estos procesos se les llama a veces ‘procesos ligeros’ (lightweight process).

Java soporta el concepto de Thread desde el lenguaje mismo, con clases e interfaces en el paquete java.lang y métodos específicos en la clase Object para su manipulación.

Los threads son útiles porque permiten dividir el flujo de un programa en varias partes, cada una encargada de una tarea específica. Por ejemplo, un thread puede manejar la interacción con el usuario, mientras que otros realizan tareas en segundo plano, como la transmisión de archivos, el acceso a recursos del sistema (cargar sonidos, leer archivos), etc. De hecho, todas las aplicaciones con interfaz gráfica (AWT o Swing) son multithread, ya que los eventos y las rutinas de dibujado de las ventanas se ejecutan en un thread diferente al principal.

El tag <APPLET> en HTML

Los applets se ejecutan a través de un navegador web (Internet Explorer, Netscape, Opera, etc.) o con el appletviewer, utilizando un archivo HTML que contiene la etiqueta <APPLET> con la siguiente estructura:

Archivo.html


        Code                 = «Nombre archivo de clase»

        CodeBase         = «Ruta (URL) a los archivos de clase»

        Align                 = «Alineación del Applet»

        Width                 = «Ancho en píxeles del Applet»

        Height               = «Alto en píxeles del Applet» >



Dentro de la etiqueta <APPLET>, algunos argumentos permiten modificar la ubicación y el espacio que ocupa el applet en la página web:

  • a) ALIGN: Determina la alineación del applet. Valores posibles: LEFT, RIGHT, TEXTTOP, MIDDLE, BASELINE, BOTTOM, ABSBOTTOM, TOP, ABSMIDDLE.
  • b) HSPACE: Indica el espacio horizontal entre el applet y el texto que lo rodea.
  • c) VSPACE: Indica el espacio vertical entre el applet y el texto que lo rodea.
  • d) CODEBASE: Contiene la ruta de las clases del applet. Si se omite, se considera el mismo directorio de la página web.
  • f) PARAM: Contiene pares de NAME y VALUE para enviar parámetros al applet. Pueden ser una o más etiquetas PARAM.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.