Manual de HTML - Applets de Java

20. Applets de Java

Java™ es un lenguaje de programación orientado a objetos que ha sido desarrollado por la compañía Sun Microsystems, basándose en el lenguaje C++. Aunque es también un lenguaje de carácter general, su principal característica es la de ser independiente de cualquier plataforma, lo que le hace ser muy adecuado para ser utilizado en Internet, ya que puede ejecutarse en cualquier ordenador que tenga un navegador compatible con Java.

Esto quiere decir que el mismo programa se puede utilizar, sin ningún cambio, en un PC, Mac o máquina Unix. Esto es así porque un programa Java no corre directamente en el ordenador, sino que lo hace en una máquina virtual (la Máquina Virtual Java), quedando además confinado dentro de ella, lo que hace que sea un lenguaje seguro, ya que no puede acceder a otros recursos de nuestro ordenador.

Java y Javascript

Existe bastante confusión entre los términos Java y Javascript. Son dos lenguajes distintos.

El Javascript fue creado por Netscape inicialmente con otro nombre, adoptando finalmente (por evidentes razones de oportunismo) el de Javascript. Se trata de un lenguaje interpretado, cuyo código se incluye directamente en el documento HTML (en el Capítulo 16 se utilizaron varios ejemplos).

Nivel de dificultad del lenguaje Java

Aunque el lenguaje Java es más fácil que el C++, en el que está basado, se trata de un lenguaje de programación de alto nivel, y por tanto es muchísimo más difícil (para quien no tiene conocimientos previos) que el HTML, que en realidad no es más que una sencilla manera de formatear el texto de las páginas del Web.

Pero una cosa es programar en Java y otra mucho más sencilla es utilizar programas ya existentes, como veremos. Estos programas se llaman applets, y se pueden incrustar dentro de una página del Web para realizar todo tipo de tareas.

El propósito de este capítulo es mostrar cómo hacer uso de estos programas y dónde encontrarlos, y no el de aprender a programarlos.

Quien esté interesado en iniciarse en el aprendizaje del lenguaje Java puede encontrar un completo tutorial (con la posibilidad de bajar todo el curso por FTP) en:

Tutorial de Java, por Agustín Froufe (España)

Más información sobre otros manuales de Java en:

La Agenda, de Manuel Barberán, en la sección Java 
Lanzador Internet, de Daniel López Avellaneda

¿Qué son los applets?

Los applets son pequeños programas ejecutables escritos en lenguaje Java, que podemos colocar en nuestro servidor, junto con el resto de ficheros que componen un sitio del Web (documentos HTML, ficheros de imagen, sonido, etc.)

Si en una de nuestras páginas hemos incrustado un applet (de la manera que se verá más adelante), cuando un usuario cargue la página, recibirá del servidor dicho applet (al igual que ocurre con una imagen o sonido), y se ejecutará en su navegador.

Pero para que esto ocurra así, es condición indispensable que el usuario esté utilizando un navegador compatible con Java: Netscape 2.x o superior, Explorer 3.0 o superior, o HotJava (navegador desarrollado por Sun, y escrito totalmente en Java). Quien utilice un navegador no compatible, no verá la ejecución del programa (ni siquiera lo cargará), aunque podemos informarle de este hecho con un mensaje.

Como test inmediato para comprobar si tu navegador es compatible con Java, observa lo que ves a continuación:

  [Aquí debería haber un applet de Java]

¿Para qué sirven los applets?

Con los applets se pueden conseguir efectos visuales y sonoros (incluso ambos a la vez), textos en movimiento, utilidades (por ejemplo, relojes), pequeños programas educativos, juegos interactivos, presentaciones multimedia, etc. En definitiva, cualquier cosa que se pueda conseguir con un programa pequeño.

No es que haya ninguna limitación teórica en el tamaño de estos programas. La razón de que sean pequeños es la misma por la que no es razonable colocar en una página gigantescos ficheros de imagen o sonido, es decir, no hay que alargar en exceso su tiempo de carga. (El applet visto anteriormente sólo tiene 4,6 kb)

¿Cómo se coloca un applet en una página?

Lo primero de todo, es necesario tener el programa del applet. El ejemplo de applet visto anteriormente, y que vamos a examinar a continuación con detalle, se llama 
SineText.class

Se trata de un applet que hace que un texto (elegido por el usuario) se desplace formando una onda sinusoidal, en dirección reversible con un click del ratón. Se pueden escoger los colores del fondo y de las letras, elegir entre algunos tipos de fuentes, su tamaño, velocidad de desplazamiento, etc.

Su autor es Mattias Tollet y proviene de The Java(TM) Boutique

Para conseguirlo ahora mismo, pulsa el enlace:


 SineText.class (4,6 kb)

Alguna observaciones:

Para colocar el applet en la página, debemos utilizar las siguientes etiquetas (que se colocan donde queramos dentro del cuerpo del documento HTML, es decir entre las etiquetas <BODY> y </BODY>):

<APPLET CODE=SineText.class WIDTH=500 HEIGHT=100> 
</APPLET>

Con esto se le indica al navegador que cargue un applet, cuyo código compilado es SineText.class, que se encuentra en el mismo directorio que el propio documento HTML, y que le reserve un área de 500x100 pixels.

Pero en este caso concreto, nos falta añadir los parámetros que personalizan el applet a nuestro gusto (sobre todo el texto que queremos que aparezca). Para ello se añaden etiquetas de este tipo:

<PARAM NAME=nombre_del_parámetro VALUE="contenido_del_parámetro">

Para escoger el texto, será, por ejemplo:

<PARAM NAME=Text VALUE="¡Gracias por tu visita!">

De momento no vamos a definir más parámetros. El resto de ellos serán los que ha escogido su autor por defecto. Las etiquetas del applet quedan de momento así:

<APPLET CODE=SineText.class WIDTH=500 HEIGHT=100> 
<PARAM NAME=Text VALUE="¡Gracias por tu visita!"> 
</APPLET>

Este es el resultado
(Para no recargar demasiado esta página, se van a ver los ejemplos en páginas separadas)

¿Cómo sabemos qué parámetros hay, cuáles son sus nombres y cuáles son los que hay por defecto? Pues sencillamente, leyendo la documentación del applet, ya que son variables que se le han ocurrido al autor al confeccionar el programa. Esto quiere decir que para otro applet distinto los parámetros serán también distintos.

En este applet, su autor ha definido los siguientes parámetros:

Text - Texto que se va a ver. 
Rate - Número de imágenes por segundo. 
Font - Fuente: Helvetica (defecto), TimesRoman o Courier. 
FontSize - Tamaño de la fuente. 
TextStyle - Estilo de la fuente: Plain, Bold (defecto) o Italic. 
Speed - Velocidad de desplazamiento 1-10 (5 es por defecto) 
Direction - Dirección inicial del desplazamiento. Left (defecto) o Right. 
Background - Color del fondo. 000000 (negro) es por defecto. 
ForeGround - Color del texto. FF0000 (rojo) es por defecto.

Vamos a añadir algunos parámetros al ejemplo anterior (el orden en el que se colocan es indiferente). Variaremos también el área del applet a 600x75, y el texto del mensaje.

<APPLET CODE=SineText.class WIDTH=600 HEIGHT=75> 
<PARAM NAME=Text VALUE="¡Gracias por tu visita! Vuelve pronto"> 
<PARAM NAME=Rate VALUE="4"> 
<PARAM NAME=Font VALUE="TimesRoman"> 
<PARAM NAME=Background VALUE="FFFFFF"> 
<PARAM NAME=Foreground VALUE="0000FF"> 
</APPLET>

Este es el resultado.

Mensaje para los navegadores no compatibles con Java

En los dos últimos ejemplos, el usuario con un navegador no compatible no verá absolutamente nada, ya que el applet no se carga ni ejecuta.

Se puede poner un mensaje para que lo lean los que usan un navegador no compatible, y que sin embargo, es invisible para los que sí están viendo ejecutarse el applet. No hay más que añadirlo, sin ningún tipo de etiqueta, a continuación de los parámetros. Por ejemplo:

<APPLET CODE=SineText.class WIDTH=600 HEIGHT=75> 
<PARAM NAME=Text VALUE="¡Gracias por tu visita! Vuelve pronto"> 
<PARAM NAME=Rate VALUE="4"> 
<PARAM NAME=Font VALUE="TimesRoman"> 
<PARAM NAME=Background VALUE="FFFFFF"> 
<PARAM NAME=ForeGround VALUE="FF0000"> 
Lo siento, pero no puedes ver este applet funcionando. 
</APPLET>

Este es el resultado
Quien use un navegador compatible sólo podrá ver el mensaje si inhabilita la carga de programas de Java.

Otro ejemplo: reloj

Hay veces que el programa del applet necesita unos ficheros adicionales para funcionar (generalmente ficheros de imagen o sonido). Es el caso del ejemplo que vamos a ver, que es un reloj que necesita las imágenes de los dígitos.

Por tanto, aparte de instalar el fichero del applet, que en este caso se llama DigClk.class, hay que instalar los ficheros de imagen de los dígitos en un subdirectorio que se debe llamar necesariamente dcimages (porque así lo ha dispuesto el programador del applet).

Su autor es William G. Ogle Jr. y proviene de The Java(TM) Boutique.

Puedes obtener el applet DigClk.class y los ficheros de imagen agrupados en su subdirectorio dcimages, comprimidos en un fichero .zip:


 dclk100.zip (5 kb)

El código HTML necesario para el applet es:

<APPLET CODE="DigClk.class" WIDTH=122 HEIGHT=29> 
Aquí habría un reloj si tu navegador soportase Java 
</APPLET>

Y este es el resultado:

  Aquí habría un reloj si tu navegador soportase Java

Obsérvese que en este caso no hay etiquetas de parámetros, por no ser necesarias. 
(La hora que que visualice el usuario será la de su ordenador)

El atributo CODEBASE

En todos los ejemplos anteriores hemos supuesto que el fichero del applet (el que tiene la extensión .class), está en el mismo directorio que el documento HTML donde queremos incrustarlo. Pero puede ser que lo hayamos colocado en otro directorio distinto.

En estos casos hay que añadir el atributo CODEBASE dentro de la etiqueta <APPLET> indicando el directorio donde se encuentra.

Si en el último ejemplo hubiéramos colocado el fichero DigClk.class en un subdirectorio llamado java (por ejemplo), la etiqueta hubiera quedado así:

<APPLET CODEBASE=java CODE="DigClk.class" WIDTH=122 HEIGHT=29>  
[el resto de las etiquetas quedarían igual]

¿Dónde se pueden conseguir applets de Java?

En español: 
Catálogo de Applets (México) 
Applets de Java, de Luis Mariñas

En inglés: 
The Java(TM) Boutique
en donde se pueden encontrar más de cien applets, distribuidos en categorías, y con con sus correspondientes instrucciones.
The Java Place Similar al anterior, con más de cien applets.

Otro sitio muy interesante es Gamelan, que es un catálogo de recursos muy extenso.


WebMaestro: http://wmaestro.com/webmaestro - © Francisco Arocena