Applet
Parte de programa informático
Información general
Desarrollador Sun Microsystems
Información técnica
Programado en Java
Enlaces

Un applet Java es un applet escrito en el lenguaje de programación Java. Los applets de Java pueden ejecutarse en un navegador web utilizando la Java Virtual Machine (JVM), o en el AppletViewer de Sun.

Entre sus características podemos mencionar un esquema de seguridad que permite que los applets que se ejecutan en el equipo no tengan acceso a partes sensibles (por ej. no pueden escribir archivos), a menos que uno mismo le dé los permisos necesarios en el sistema; la desventaja de este enfoque es que la entrega de permisos es engorrosa para el usuario común, lo cual juega en contra de uno de los objetivos de los Java applets: proporcionar una forma fácil de ejecutar aplicaciones desde el navegador web.

En Java, un applet es un programa que puede incrustarse en un documento HTML, es decir en una página web. Cuando un navegador carga una página web que contiene un applet, este se descarga en el navegador web y comienza a ejecutarse. Esto permite crear programas que cualquier usuario puede ejecutar con tan solo cargar la página web en su navegador.

El navegador que carga y ejecuta el applet se conoce en términos genéricos como el "contenedor" de los applets. El kit de desarrollo de software para Java Standard Edition 7 (1.7.1 --Versión más actual, puesta en marcha el 18 de octubre de 2011) incluye un contenedor de applets, llamado appletviewer, para probar los applets antes de incrustarlos en una página web.

Ventajas

[editar]

Los applets de Java suelen tener las siguientes ventajas:

Desventajas

[editar]

Los applets de Java tienen las siguientes desventajas:

Diferencias entre una aplicación autónoma y un applet

[editar]

Existen diferencias entre un programa autónomo y un applet:

Creación y ejecución de un applet

[editar]

Crear un applet

[editar]

Para crear un applet es necesario escribir un descendiente de la clase Applet del paquete java.applet.*;

 import java.applet.*;
 public class MiApplet extends Applet
 {
 //Cuerpo del ''applet''.
 }

El código anterior declara una nueva clase MiApplet que hereda todas las capacidades de la clase Applet de Java. El resultado es un fichero MiApplet.java.

Una vez creada la clase que compone el applet, se escribe el resto del código y después se compila, obteniendo el fichero MiApplet.class

 import java.applet.*;
 import java.awt.*;
 import java.util.*;
 import java.text.DateFormat;
 
 public class MiApplet extends Applet implements Runnable
 {
    private Thread hilo = null;
    private Font fuente;
    private String horaActual = "00:00:00";
 
    public void init()
    {  
       fuente = new Font("Verdana", Font.BOLD, 24);
    }
    public void start()
    {
       if (hilo == null)
       {
          hilo = new Thread(this, "Reloj");
          hilo.start();
       }
    }  
    public void run()
    {
       Thread hiloActual = Thread.currentThread();
       while (hilo == hiloActual)
       {
          //obtener la hora actual
          Calendar cal = Calendar.getInstance();
          Date hora = cal.getTime();
          DateFormat df = DateFormat.getTimeInstance();
          horaActual = df.format(hora);
          repaint();
          try
          {
             Thread.sleep(1000);
          }
          catch (InterruptedException e){}
       }
    }  
    public void paint(Graphics g)
    {   
       //Dibujar un rectángulo alrededor del contenedor
       g.draw3DRect(1, 1, getSize().width-3, getSize().height-3, false);
       //Establecer la Fuente
       g.setFont(fuente);
       //mostrar la Hora
       g.drawString(horaActual,14,40);
    }   
    public void stop()
    {   
       hilo = null;
    }   
 }

Si se utiliza la biblioteca gráfica Swing, se puede utilizar la clase JApplet de javax.swing en vez de Applet:

 import javax.swing.*;
 public class MiApplet extends JApplet
 {
 //Cuerpo del ''applet''.
 }

Ejecución

[editar]

Para insertar el applet en una página web, se usa la siguiente estructura:

<etiqueta parametro = "valor"></etiqueta>

Etiqueta <applet>

[editar]

Siguiendo la estructura anterior, un ejemplo de HTML para ejecutar el applet es:

    <applet code="MiApplet.class" width="370" height="270"></applet>

Pudiéndose usar los siguientes atributos:

Atributo Descripción Ejemplo
codebase Dirección desde donde se puede descargar la clase de Java que va a cargar el applet, el URL de la clase. Si no se especifica, será la ubicación actual de la página HTML. codebase="http://www.pagina.com/applet/"
code Nombre de la clase que se quiere cargar en el applet. La dirección donde se encuentra es relativa al codebase. Si no se ha especificado codebase, es la misma carpeta donde está la página HTML que carga el applet. code="NombreClase.class"
width Tamaño en píxels de la anchura. width=100
height Tamaño en píxels de la altura. height=100
alt Texto que se muestra donde debería cargarse el applet si el navegador no permite su carga. alt="Su navegador no permite cargar este Applet"
name Establece un nombre único para el applet. name="MiApplet"
archive Es un listado de clases separados por comas que deben ser cargados en la caché del usuario local antes de poder ejecutarse. archive="Clase1.class, Clase2.class, Clase3.class"
hspace Establece los márgenes laterales en píxels. hspace=25
vspace Establece el margen superior e inferior en píxels. vspace=25
align Alineación respecto a otros elementos.
Valores: left, center, right, top, middle y bottom
align="center"
mayscript Permite especificar si el applet puede tener acceso al código JavaScript No tiene valor asociado. Si aparece se aplica.

Dentro de la etiqueta <applet> puede aparecer la etiqueta <param> que contiene pares clave/valor, que son leídos por el programa Java, tantas veces como se quiera.

Etiqueta <object>

[editar]

A partir de la versión 4.0 de HTML se consideró obsoleto el uso de la etiqueta <applet>, siendo sustituida por <object>.

Esta etiqueta es compatible con los navegadores Microsoft Internet Explorer, Netscape 6 (y versiones superiores) y Mozilla Firefox.

Comparte muchos de los atributos con <applet>, siendo los únicos para esta etiqueta:

Atributo Descripción Ejemplo
classid Identificador del tipo de objeto. Para Java es: classid="clsid:CAFEEFAC-0014-0001-0000-ABCDEFFEDCBA"
codebase URL que apunta a un fichero .cab en la red del plugin necesario para poder ejecutar el contenido. codebase="Dirección_del_instalador_de_la_Máquina_Virtual_Java"
type Tipo de archivo que va a reproducirse mediante el objeto. <param name="type" value="application/x-java-applet;jpi-version=1.5.0">

Ciclo de vida

[editar]

Cuando un applet se carga, se llaman en este orden a los siguientes métodos;

  1. init: suele contener instrucciones para inicializar el applet.
  2. start: como init, se suele usar para inicializar, pero con la diferencia de que este método también se llama cuando se reinicia el applet.
  3. paint: se encarga de mostrar el contenido del applet. Se ejecuta cada vez que se tenga que redibujar.

Para terminar o pausar la ejecución se llama a los siguientes métodos:

Véase también

[editar]

Referencias

[editar]
  1. Peter Bright (27 de enero de 2016). «Oracle deprecates the Java browser plugin, prepares for its demise». Ars Technica. Consultado el 28 de enero de 2016. 
  2. http://www.abc.es/tecnologia/20130115/abci-java-desactivar-problemas-201301151402.html
  3. «Artículo Security Restrictions sobre Applets de Sun Microsystem» (en inglés). Archivado desde el original el 10 de febrero de 2009. Consultado el 15 de enero de 2009. 

Bibliografía

[editar]

Enlaces externos

[editar]