índice

LOS APPLETS JAVA

INTRODUCCIÓN

PROGRAMAR UN APPLET







INTRODUCCIÓN

Los applets son una de las particularidades de Java que contribuyen a explicar su éxito. Permiten cargar a través de la red una aplicación portable que se ejecuta en el navegador. Sin embargo, es necesario que el navegador sepa hacerlos funcionar, cosa que sólo es posible bajo Windows 95/NT o Unix.

DIFERENCIAS ENTRE APPLET Y APLICACIÓN

Los applets presentan las siguientes diferencias respecto a las aplicaciones Java:

Estas restricciones de seguridad tienen por objetivo evitar cargar, por error, un applet que podría:

Todo esto es imposible con un applet.

volver


HTML Y LOS APPLETS JAVA

Los servidores Web clásicos sólo permiten funcionar en modo pregunta/respuesta; el usuario envía una solicitud al servidor, el cual la trata y devuelve la respuesta.

Así, no puede hacerse ningún control de edición sobre el puesto cliente si el sevidor Web utiliza únicamente HTML. Si el cliente debe introducir datos, por ejemplo la fecha, dicha fecha se envía al servidor, quien la examina y responde seguidamente: "Debe introducir el año", si el usuario se ha equivocado.

Gracias a los applets, este trabajo puede efectuarse sobre la máquina cliente. Pueden realizarse controles instantáneos y las peticiones a enviar al servidor son preparadas por el applet. Se pasa así de una visión servidor/terminal pasivo a una visión realmente cliente-servidor de aplicaciones.

volver


PROGRAMAR UN APPLET

HTML

Los applets son llamados a partir de una fuente HTML leída a distancia por el navegador. El código HTML que señala que debe cargarse un applet es el siguiente:

     	 <APPLET
	 CODE="ciclo.class"
	 WIDTH=200
	 HEIGHT=200
	 ALIGN=MIDDLE
	 >
	 <PARAM NAME=elNombre VALUE="Un ejemplo">
	 </APPLET>

El navegador buscará la clase ciclo.class allí donde ha encontrado anteriormente la página HTML, es decir sobre el mismo servidor remoto.

Las diferentes opciones son las siguientes:


volver


LOS APPLETS NO TIENEN MÉTODO MAIN

Se ha visto que, cuando una plicación se ejecuta, el núcleo Java busca un método public static void main (String arg [ ] ) para arrancarla.

Cuando el navegador arranca un applet, busca la clase cuyo nombre se indica en la fuente HTML. Esta debe heredar de la clase Applet. No es necesario definir un método main(), por el contrario, el navegador automáticamente llamará a algunos de los métodos de la clase Applet.

volver


CICLO DE VIDA

Estos métodos son los siguientes:

Cuando se crea un Applet, se debe redefinir todo o parte de estos métodos. paint ( ), especialmente, proporciona su aspecto al Applet. Este método es llamado pasándole como parámetro un objeto Graphics. Este es proporcionado por el sistema, y podemos utilizarlo sin preocuparnos de su origen.

Sin embargo, si se desea llamar a paint( ) explícitamente en otro método del Applet, se puede hacer gracias al método repaint( ), que llama a paint() proporcionándole el parámetro idóneo.

volver


UN EJEMPLO

Se creará el primer Applet, cosa que permitirá comprender el ciclo de vida de un Applet, es decir el encadenamiento de métodos descritos en el apartado anterior.

Se redefinen pues en este ejemplo los métodos importantes citados anteriormente. Para cada uno de ellos la única acción será añadir su nombre en una tabla de String que así conservará la memoria de las llamadas ya efectuadas.

El método paint(), además de ésto, mostrará en el navegador la lista de llamadas, recorriendo el Vector de String que guarda las llamadas. Este recorrido se hace gracias a la clase Enumeration.

	import java.applet.*:
	import java.aqwt.*:
	import java.util.*;
	public clase ciclo extends Applet {
		// la tabla en la que se almacenan los nombres de los m�todos
		// llamados
		Vector lasllamadas = null;
		public void paint (Graphics g ) {
			 int yActual = 20;	
			 g.drawString (Llamadas a los m�todos:",20,yActual);
			 yActual += 15;
			 lasLlamadas.addElement ("paint");
			 for (Enumeration e= lasLlamadas.elements(); e.hasMoreElements();
			) {		
				  g.drawString (e.nextElement ().toString (),20,yActual);
				  yActual +=15;
			   }
			public ciclo ( ) {           // constructor
				 lasLlamadas = new Vector ( );
				 lasLlamadas.addElement ("constructor");
			}
			public void init () {
				 lasLlamadas.addElement ("init");
			}
			// . . . 
			// igual para Start ( ), destroy ( ), stop ( )
			// . . .
		}
	}

El programa HTML que permite cargar el applet en el navegador es el siguiente:

	<HTML>
	<HEAD>
	<TITLE>  El applet
	</HEAD>
	<BODY>
	<H2>

Ciclo de vida de un Applet

	</H2>
	<APPLET>
	CODE="ciclo.class"
	WIDTH=400
	HEIGHT=200
	ALIGN=MIDDLE
	>
	</APPLET>
	</BODY>
	</HTML>

Para depurar un Applet, no es necesario estar conectado a una red. El Applet puede residir en la máquina, al igual que la página HTML, que invoca su llamada. Esta página se carga mediante el menú OpenFile del navegador. En la depuración de un Applet, el navegador no recarga el applet cuando se utiliza el menú Reload de la herramienta. Sólo recarga el fichero HTML.

Si la fuente Java ha sido modificada y recompilada, y si la página es mostrada actualmente por el navegador, para observar el resultado en el navegador hay que solicitar una nueva garga de la página (p.e. por OpenFile u OpenLocation) y no una recarga (Reload). Si esto no basta hay que volver a lanzar el navegador.

Es mejor, sin embargo, para depurar un Applet, utilizar una herramienta como AppletViewer. En comparación con un navegador, AppletViewer proporciona informaciones suplementarias y permite utilizar la salida estándar para depura el Applet. Para utilizarlo, se indica al AppletViewer el nombre de la página HTML que lanza el applet.

volver


DE LA APLICACIÓN AL APPLET

En ciertos casos se quiere disponer de una aplicación que, casi idéntica, sea local con el núcleo Java o, en forma de applet, funcione a través de la utilización de páginas HTML.

Otro interés que muestra los applets en relación a las páginas HTML es la posibilidad de ejecutar una aplicación multiventana en el puesto del usuario. Los applets pueden desarrollarse 'fuera' de la página visualizada por el navegador.

El usuario remoto puede tener tembién una aplicación completa que se ejecuta en su puesto. Y ello:

Una direcci�n interesante, con los pasos a seguir para crear y usar un applet es: http://www.javasoft.com/books/series/Tutorial/getStarted/applet/index.html

volver

Hosted by www.Geocities.ws

1