You are on page 1of 22

INTRODUCCIN A LAS APPLETS A.

Introduccin Las applets (miniaplicacin) son programas escritos en Java que sirven para "dar vida" a las pginas Web (interaccin en tiempo real, inclusin de animaciones, sonidos...), de ah su potencia. Las applets son programas que se incluyen en las pginas Web. Las applets son ejecutadas en la mquina cliente, con lo que no existen ralentizaciones por la saturacin del mdem o del ancho de banda. Permiten cargar a travs de la red una aplicacin portable que se ejecuta en el navegador. Para que esto ocurra tan slo hace falta que el navegador sea capaz de interpretar Java. A las pginas que contienen applets se las denomina pginas Java-Powered. Las applets pueden ser visualizadas con la herramienta appletviewer, incluido en el JDK de Java. Las 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 intrprete Java. Son cargados a travs de la red por medio de pginas HTML y no residen en el disco duro de la mquina que los ejecuta. Poseen un ciclo de vida diferente; mientras que una aplicacin se lanza una vez, una applet se arranca (inicia) cada vez que el usuario recarga la pgina en la que se encuentra la applet. Tienen menos derechos que una aplicacin clsica, 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. Slo pueden comunicarse con el servidor Web en que se encuentra la pgina Web que las contiene.

B. Consideraciones sobre la seguridad en las applets Como ya se ha dicho las applets tienen una serie de restricciones de programacin que las hacen "seguras". Estas restricciones de seguridad son especialmente importantes, ya que evitarn que se cargue por error una applet que destruya datos de la mquina, que obtenga informacin restringida, o que produzca otros daos inesperados. Las applets no dejan de ser "ejecutables" que funcionan dentro de una aplicacin, como puede ser un visualizador de pginas Web (browser). Este ejecutable puede obtenerse de una red, lo que significa que hay cdigo posiblemente no fiable que se ejecuta dentro de la aplicacin. Java tiene muchas salvaguardas de seguridad que minimizan el riesgo de la ejecucin de applets, pero estas salvaguardas tambin limitan a los programadores de applets en su capacidad de programacin.

El modelo de seguridad para las applets en Java trata una applet como cdigo no fiable ejecutndose dentro de un entorno fiable. Por ejemplo, cuando un usuario instala una copia de un navegador Web en una mquina se est fiando de que su cdigo ser funcional en el entorno. Normalmente los usuarios tienen cuidado de qu instalan cuando proviene de una red. Una applet, por el contrario, se carga desde la red sin ninguna comprobacin de su fiabilidad. El lenguaje Java y las applets son escritos para que eviten las applets no fiables. Estas salvaguardas son implementadas para verificar que los cdigos de byte de las clases de los applets, no rompen las reglas bsicas del lenguaje ni las restricciones de acceso en tiempo de ejecucin. Slo cuando estas restricciones son satisfechas se le permite a la applet ejecutar su cdigo. Cuando se ejecuta, se le marca para sealar que se encuentra dentro del intrprete. Esta marca permite a las clases de tiempo de ejecucin determinar cundo a una fraccin del cdigo se le permite invocar a cierto mtodo. Por ejemplo, una applet est restringida en los hosts en los que se puede abrir una conexin de red o en un conjunto de URLs a las que puede acceder. En su conjunto estas restricciones constituyen una poltica de seguridad. En el futuro, Java tendr polticas ms ricas, incluyendo algunas que usen encriptacin y autentificacin para permitir a las applets una mayor capacidad. La actual poltica de seguridad afecta a los recursos que una applet puede usar, cuyos principales puntos son:

Los accesos que pueden realizar las applets a los ficheros son restringidos. En particular escribir en ficheros y/o leerles no ser una capacidad estndar que se pueda realizar en los navegadores que soporten applets de Java. Las conexiones de red sern restringidas a conectar solo con el host del que proviene la applet. Una applet no es capaz de usar ningn mtodo que pueda resultar en una ejecucin arbitraria, cdigo no revisado o ambos. Esto incluye mtodos que ejecuten programas arbitrarios (mtodos nativos) as como la carga de bibliotecas dinmicas.

Se anticipa en cualquier caso que en el futuro los modelos de seguridad permitirn a las applets autentificadas superar estas restricciones.

LA CLASE APPLET A. Situacin de la clase Applet en la API de Java 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 adems hereda de Component y Container, que son dos clases del paquete grfico AWT. Esto ya perfila las posibilidades grficas de este tipo de aplicaciones Java. B. Mtodos del ciclo de vida Como ya se ha indicado una applet no tiene un ciclo de vida tan "sencillo" como el de una aplicacin, que simplemente se ejecuta hasta que finaliza su mtodo main(). La siguiente figura modeliza el ciclo de vida de una applet:

Imagen 11: Ciclo de vida de una applet Cada crculo representa una fase en el ciclo de vida de la applet. Las flechas representan transiciones y el texto representa la accin que causa la transicin. Cada fase est marcada con una invocacin a un mtodo 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, despus de haber sido cargada, ha sido parada (cambio de pgina Web, minimizacin del navegador,...), y de nuevo activada (vuelta a la pgina, restauracin 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 ejecucin. As una applet que utilice threads, debera detenerlos en el cdigo de este mtodo. 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 mtodos. De hecho habr applets que no los necesiten. Cuando un navegador carga una pgina Web que contiene una applet, suele mostrar en su parte inferior un mensaje como: initializing... starting... Esto indica que la applet, se est cargando: 1. Una instancia de la clase applet es creada. 2. La applet es iniciada, mediante su mtodo init(). 3. La applet empieza a ejecutarse, mediante su mtodo start(). Cuando el usuario se encuentra con una pgina Web, que contiene una applet y salta a otra pgina, entonces la applet se detiene invocando a su mtodo stop(). Si el usuario retorna a la pgina donde reside la applet, sta vuelve a ejecutarse nuevamente invocando a su mtodo start(). Cuando el usuario sale del navegador la applet tiene un tiempo para finalizar su ejecucin y hacer una limpieza final, mediante el mtodo destroy(). C. La clase URL Un URL (Uniform Resource Locator) es una direccin de Internet. Cada recurso (fichero, pgina Web, imagen...) tiene uno propio. En Java existe una clase denominada URL que modeliza esta clase de objetos. La clase URL pertenece al paquete java.net, y tiene una cierta importancia en el desarrollo de las applets, puesto que muchos de los mtodos de la clase Applet la utilizan para acceder a determinado recurso de Internet o para identificarse. Podemos especificar un URL de manera absoluta: URL URLabsoluto = new URL("http://www.host.com/dir/fich.htm"); O bien podemos especificar un URL de manera relativa:

URL URLhost = new URL("http://www.Javasoft.com/"); URL URLrelativo = new URL( URLhost, "dir/fich.htm"); Ambos ejemplos corresponderan al URL "http://www.host.com/dir/fich.htm". D. Inclusin de la applet en una pgina Web Para incluir una applet en una pgina Web, una vez compilada la applet, debe incluirse entre el cdigo HTML de la pgina Web una etiqueta <APPLET>, que como mnimo ha de presentar los siguientes tres parmetros:

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).

Adems, de la etiqueta inicial, una applet puede tener parmetros que se especificarn mediante etiquetas <PARAM>, que como mnimo han de presentar dos parmetros:

name: Indica el nombre del parmetro de la applet al que esta etiqueta hace referencia. value: Establece este valor al parmetro indicado en name de la misma etiqueta.

As un ejemplo de esto sera: <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 parmetro Parametro1 y Parametro2, mediante los mtodos que se describen en el siguiente apartado, y obtendra Valor1 y Valor2 respectivamente. Se observa que adems de la etiqueta <applet> en el cdigo HTML tambin aparece una etiqueta </applet>. Esto sucede porque HTML es un lenguaje pareado, en el que casi todas las etiquetas de inicio de elemento (<etiq>) tienen una etiqueta de fin (</etiq>). E. Obtencin de los parmetros de la applet Cuando se incluye una applet en una pgina Web ha de hacerse mediante la etiqueta HTML <applet>. Las etiquetas HTML permiten utilizar parmetros, y la etiqueta <applet> hace lo propio, permitiendo a la applet recibir parmetros de ejecucin, tal y como una aplicacin los recibe en el parmetro s (un vector de cadenas) de su mtodo main(String[] s).

Los siguientes mtodos se utilizan para extraer informacin de los parmetros que recibi la applet cuando fue llamada desde el cdigo HTML:

URL getDocumentBase(); Devuelve el URL del documento que contiene la applet. URL getCodeBase(); Devuelve el URL de la applet. String getParameter(String name); Devuelve el valor de un parmetro (etiquetas <param>) que aparezca en el documento HTML.

Si por ejemplo se llamase a una applet, con el cdigo HTML: <applet code="AppletParam.class" width=50 height=50> <param name=Color value="red"> </applet> Una llamada en esta applet al mtodo getParameter("Color") devolver "red". F. Obtencin de informacin sobre una applet Algunos mtodos de la applet se utilizan para comunicar informacin o mostrar mensajes en la pantalla referentes a la applet:

boolean isActive(); Comprueba si la applet est activa. void showStatus(String status); Muestra una cadena del estado en la pantalla. String getAppletInfo(); Devuelve informacin relativa a la applet como el autor, Copyright o versin. String[ ][ ] getParameterInfo(); Devuelve un vector que describe algn parmetro especfico de la applet. Cada elemento en el vector es un vector de tres cadenas que tienen la forma: {nombre, tipo, comentario}.

Un ejemplo de como definir este mtodo para una applet que permita un solo parmetro, color, sera: public String[][] getParameterInfo() {

String info[][] = { {"Color","String","foreground color"} };

return info;

G. Manipulacin del entorno de una applet Algunas applets pueden afectar al entorno en que estn ejecutndose. Para ello se utilizan los mtodos:

AppletContext getAppletContext(); Devuelve un AppletContext, que permite a la applet afectar a su entorno de ejecucin. void resize( int ancho, int largo); Solicita que se modifique el tamao de la applet. Tambin permite recibir un nico parmetro Dimension. Locale getLocale(); Devuelve el Locale de la applet si fue establecido. void setStub( AppletStub s ); Establece el stub de esta applet.

H. Soporte multimedia La clase Applet tambin incluye mtodos para trabajar con imgenes y ficheros de sonido de Internet mediante la utilizacin de URLs. Para ello implementa los mtodos:

Image getImage(URL u, String s); Obtiene una imagen de un URL u que ser absoluto si no se especifica una ruta relativa s. AudioClip getAudioClip(URL u, String s); Obtiene un clip de sonido de un URL u que ser absoluto si no se especifica una ruta relativa s. void play(URL ur1, String name); Ejecuta directamente un fichero de sonido de un URL u que ser absoluto si no se especifica una ruta relativa s. static audioClip newAudioClip(URL u); Obtiene un nuevo fichero de sonido del URL u.

Mediante el uso adecuado de varios de estos mtodos se pueden combinar sonidos e imgenes para conseguir efectos espectaculares.

EJEMPLO DE CONSTRUCCIN DE UNA APPLET A. Cdigo 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 mtodos de la clase Applet. Siempre conviene sobreescribir al menos el mtodo 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 lnea diagonal. Un posible cdigo para esta applet sera: 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 cdigo:

1. El mtodo paint() recibe un objeto de la clase Graphics. La clase Graphics, incluida en el AWT, contiene mtodos para mostrar varios tipos de grficos. 2. Mediante el mtodo 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 lnea 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 mtodos de la clase Dimension ( getWidth(), getHeight() ). B. Ejecucin Para ejecutar la applet, una vez compilado el fichero, se introduce la llamada a la applet en una pgina Web (por ejemplo AppletDiagonal.htm), introduciendo entre su cdigo HTML lo siguiente: <applet code="AppletDiagonal.class" width=200 height=200> </applet> Cuando se cargue esta pgina Web en un navegador compatible con Java o mediante el visualizador de applets que viene con el JDK (appletviewer) se ver algo como:

Imagen 12: Applet "Lnea" Se podra dibujar un rectngulo con cambiar la lnea de cdigo de drawLine() por otra que llamase al mtodo drawRect(): g.drawRect(10, 10, r.width 20, r.height 20); C. Creacin de applets ms avanzados La creacin de applets complejos, escapa a las intenciones de este tutorial, con lo que no se va a presentar el cdigo fuente de ms applets.

El dominio de la biblioteca AWT es una condicin imprescindible para la creacin de applets de ms calidad y vistosidad. Por ltimo recordar que con el JDK se incluyen unas cuantas applets que pueden servir para el estudio de las mismas, puesto que se incluye su cdigo fuente. Para ms informacin consulte [van Hoff et al., 1996]. D. Creacin de una aplicacin que utilice la applet (AWT) Se va a utilizar AWT para crear una aplicacin que de un resultado igual que la ejecucin de la "applet Lnea". Ser una aplicacin que crear un Frame de AWT para incluir en su interior la applet que ya fue creada. De hecho el main() de la aplicacin lo nico que har ser crear un objeto de este tipo (indicndole altura y anchura, como hacamos en la applet mediante los parmetros de la etiqueta HTML). El cdigo fuente de la aplicacin sera el siguiente: import java.awt.*;

import java.awt.event.*;

class FrameLinea extends Frame {

private AppletDiagonal unaApplet; // Se mostrar

public static void main( String[] s ) {

new FrameLinea( 200, 230 );

public FrameLinea( int ancho, int largo ) {

super(); // Constructor de Component

// Se aade un oyente que cerrara la aplicacin

addWindowListener( new OyenteLinea() );

// Se crea una applet de diagonal

unaApplet=new AppletDiagonal();

unaApplet.init();

unaApplet.start();

// Se mete la applet en frame

add( unaApplet );

setSize(ancho,largo); // ajusta frame

setVisible(true); // muestra frame

// Clase anidada

class OyenteLinea extends WindowAdapter {

// Sobreescribo el mtodo de "cuando se cierra ventana"

public void windowClosing(WindowEvent e) {

unaApplet.stop();

unaApplet.destroy();

System.exit(0);

Vamos a crear un Frame en el que vamos a incluir la applet unaApplet que ser de la clase AppletDiagonal, creada anteriormente. La aplicacin lo que hace es crear un oyente de la clase creada OyenteLinea, que ser el encargado de capturar el evento de cerrar la ventana del Frame. En el constructor se inicia la applet (init() y start()) y se aade al Frame mediante el mtodo add() de la clase Container (Frame es hija de Container).

Por ltimo se establece el tamao del Frame (recibido por parmetro) mediante setSize() y por ltimo se muestra el Frame que ya tiene en su interior la applet (setVisible()). Cuando se cierra la ventana, el OyenteLinea se encarga de cerrar la applet, mediante stop() y destroy(), y de finalizar la aplicacin mediante System.exit(). E. Creacin de una aplicacin que utilice la applet (Swing) Esta misma aplicacin se puede crear utilizando Swing con solo cambiar las siguientes cosas: 1. Se ha de incluir la biblioteca de Swing: import javax.swing.*; 2. Se han de cambiar los nombres de la clase Frame de AWT por la clase JFrame de Swing. 3. Se crea un contentPane mediante un objeto JPanel, justo antes de llamar al oyente: setContentPane( new JPanel() ); 4. Para aadir la applet se ha de aadir al contentPane: getContentPane().add( unaApplet );

EJEMPLOS DE APPLETS En este apartado se comentan una serie de applets que pueden servir tanto para demostrar las posibilidades de estos programas, como para clasificarles por los siguientes gneros:

Instantneas: Muestran una secuencia de imgenes. Animacin y Sonidos: Mezclan imgenes con sonidos. Grficos Interactivos: Permiten la interaccin del usuario con las imgenes, mediante respuestas a las acciones del ratn sobre la imagen. Trucos de Texto: Permiten animar texto dndole vida. Financias y Negocios: Algunos nos permiten mostrar diagramas de barras, y otros elementos ilustrativos de este gnero. Demos, Juegos y Educacionales: Muy especializados, permiten al usuario interactuar consiguiendo cotas fascinantes de diversin.

A continuacin veremos un ejemplo de cada grupo que sea lo ms significativo posible, es decir, que resalte las caractersticas de ese grupo y las diferencias con el resto de los grupos. En cada uno de ellos se ha incluido una descripcin de lo que hace la applet, los parmetros que soporta, y un ejemplo del cdigo HTML que habra que insertar en una pgina Web para incluir la applet en dicha pgina. A. Instantneas: "Tumbling Duke"

Imagen 13: Applet Instantnea "Tumbling Duke"


a.) Descripcin

Se trata de una applet en la que Duke, la mascota de Java, da volteretas en la pgina correspondiente. La animacin consta de 17 secuencias.
b.) Parmetros

maxwidth: Anchura mxima de la imagen durante la animacin. nimgs: Nmero de marcos o secuencias en la animacin. offset: Desplazamiento horizontal entre la primera y la ltima secuencia de la animacin. img: URL del directorio donde se encuentran almacenadas las diferentes secuencias de la animacin: T1.gif, T2.gif...

c.) Ejemplo

<applet code="TumbleItem.class" width=600 height=95> <param name=maxwidth value="120"> <param name=nimgs value="16"> <param name=offset value="-57"> <param name=img value="tumble"> </applet> B. Animacin y sonido: "Animator"

Imagen 14: Applet de Animacin y sonido "Animator"


a.) Descripcin

Esta applet permite crear una animacin con sonido. Se puede especificar el orden de las secuencias, si la animacin se repite, la pista de sonido, otros sonidos para determinadas secuencias, el espacio de tiempo entre secuencias, una imagen por defecto mientras se est iniciando la applet, la posicin exacta en la que se quiere que aparezca cada secuencia... Haciendo un clic con el ratn sobre la applet se detiene la animacin. Haciendo otro contina la ejecucin.
b.) Parmetros

imagesource: URL del directorio que contiene las imgenes de la animacin: T1.gif... startup: URL de la imagen que aparecer por defecto mientras se cargan el resto de las secuencias. background: URL de la imagen de fondo. startimage: ndice de la primera secuencia. endimage: ndice de la ltima secuencia de la animacin. pauses: Lista de las pausas en milisegundos. Permite especificar una pausa especfica para cada secuencia. Cada nmero se separa mediante el carcter |. repeat: Indicador de repeticin. Se una para repetir la secuencia de animaciones. Su valor por defecto es true. positions: Coordenadas de la posicin de cada marco o secuencia (x@y). Permite mover la animacin alrededor. Cada par de coordenadas se separa por el carcter |. images: ndices de las imgenes. Permite repetir las imgenes de la animacin. Cada nmero se encuentra separado por el carcter |.

soundsource: URL del directorio que contiene los archivos de sonido. soundtrack: URL del archivo de sonido que suena "de fondo". sounds: Lista de URLs de archivos de sonido para cada secuencia de la applet. Se encuentran separados por el carcter |.

c.) Ejemplo

<applet code=Animator.class width=64 height=64> <param name=imagesource value="tower"> <param name=endimage value=2> <param name=soundsource value="audio"> <param name=soundtrack value=spacemusic.au> <param name=sounds value="1.au|2.au"> <param name=pause value=200> </applet> C. Grficos interactivos: "Link Button"

Imagen 15: Applet de grficos interactivos "Link Button"


a.) Descripcin

Esta applet permite colocar un botn en una pgina Web. Cuando se pulse el botn aparecer una nueva pgina, o se reproducir un determinado archivo de sonido,...
b.) Parmetros

href: URL del documento o archivo al que hay que llamar cuando un usuario pulsa el botn. Este URL tambin puede hacer referencia a una posicin concreta de la pgina actual.

snd: URL del archivo de sonido que se va a reproducir cuando se pulse el botn.

c.) Ejemplo

<applet code=LinkButton.Java width=100 height=30> <param name=lbl value="Java"> <param name=href value=http://www.Javasoft.com/> <param name=snd value="computer.au"> </applet> D. Trucos de texto: "Nervous Text"

Imagen 16: Applet de texto animado "Nervous Text"


a.) Descripcin

Esta applet muestra una lnea de texto en la que las letras, aleatoriamente, se estn desplazando de tal forma que se superponen con las letras contiguas. Es algo muy sencillo pero, por otra parte, muy llamativo.
b.) Parmetros

text: El texto (slo una lnea) que se mostrar en la applet.

c.) Ejemplo

<applet code="NervousText.class" width=200 height=50> <param name=text value="hello World!"> </applet>

d.) Notas

Se necesitar establecer bien la anchura de la applet para que quepa toda la lnea. Puede servir para una firma en los mensajes de correo electrnico o de noticias, pero no podr verse si el navegador no soporta Java. E. Financias y negocios: "Bar Chart"

Imagen 17: Applet de financias y negocios "Bar Chart"


a.) Descripcin

Esta applet muestra un grfico de barras basado en los parmetros que recibe.
b.) Parmetros

title: Ttulo del grfico. Aparecer debajo de las grficas. colums: Nmero de columnas (barras) en el grfico. orientation: Posicin de las barras: horizontales o verticales. scale: Escala de representacin (en pixels por unidad de barra). c<N>_style: Textura de las barras: lisas o rayadas. c<N>_value: Unidades de medida: dlares, das... c<N>_label: Etiqueta de la barra: dinero, tiempo... c<N>_color: Color de la barra: verde, azul, rosa, naranja, magenta ,amarillo...

c.) Ejemplo

<applet code="Chart.class width=251 height=125> <param name=title value="Performance"> <param name=columns value="4"> <param name=orientation value="horizontal"> <param name=scale value="5"> <param name=c1_style value="striped"> <param name=c1 value="10">

<param name=c1_color value="blue"> <param name=c1_label value="Q1"> <param name=c2_color value="green"> <param name=c2_label value="Q2"> <param name=c2 value="20"> <param name=c2_style value="solid"> <param name=c3 value="5"> <param name=c3_style value="striped"> <param name=c3_color value="magenta"> <param name=c3_label value="Q3"> <param name=c4 value="30"> <param name=c4_color value="yellow"> <param name=c4_label value="Q4"> <param name=c4_style value="solid">
d.) Notas

Si se modifica la orientacin (ponindola en vertical) habr que escoger una anchura y altura adecuadas para que todo el grfico quepa dentro de la zona reservada para la applet. El usuario no puede interactuar con el grfico. Slo se muestra en pantalla. F. Juegos y educacionales: "Graph Layout"

Imagen 18: Applet de juegos y educacionales "Graph Layout"


a.) Descripcin

Es una applet que despliega un grafo, consistente en un conjunto de nodos y arcos. Se pueden definir los nodos que se van a usar as como la longitud ptima de los arcos. El grafo est construido mediante un algoritmo heurstico.
b.) Parmetros

center: Nodo central del grafo (en color rojo) que se sita en el centro de la pantalla. Los nodos se crean cuando se necesitan. edges: Arcos del grafo. Este parmetro consiste en una lista (separada por comas), de arcos. Cada arco se define mediante un par de nodos entre las etiquetas origen-destino/longitud, donde la longitud del arco (longitud) es opcional.

c.) Ejemplo

<applet code="Graph.class" width=400 height=400> <param name=edges value="joe-food, joe-dog, joe-tea, joe-cat, joe-table, table-plate/50, plate-food/30, food-mouse/100, food-dog/100, mouse-cat/150, tab1e-cup/30, cup-tea/30, dog-cat/80, cup-spoon/50, plate-fork, dog-fleal, dog-f1ea2, f1ea1-f1ea2/20, p1ate-knive">

<param name=center value="joe"> </applet>


d.) Notas

El usuario puede recoger nodos y distorsionar el grafo para acelerar el proceso del esquema.

Es otra manera de incluir cdigo a ejecutar en los clientes que visualizan una pgina web. Se trata de pequeos programas hechos en Java, que se transfieren con las pginas web y que el navegador ejecuta en el espacio de la pgina. Los applets de Java estn programados en Java y precompilados, es por ello que la manera de trabajar de stos vara un poco con respecto a los lenguajes de script como Javascript. Los applets son ms difciles de programar que los scripts en Javascript y requerirn unos conocimientos bsicos o medios del lenguaje Java. La principal ventaja de utilizar applets consiste en que son mucho menos dependientes del navegador que los scripts en Javascript, incluso independientes del sistema operativo del ordenador donde se ejecutan. Adems, Java es ms potente que Javascript, por lo que el nmero de aplicaciones de los applets podr ser mayor. Como desventajas en relacin con Javascript cabe sealar que los applets son ms lentos de procesar y que tienen espacio muy delimitado en la pgina donde se ejecutan, es decir, no se mezclan con todos los componentes de la pgina ni tienen acceso a ellos. Es por ello que con los applets de Java no podremos hacer directamente cosas como abrir ventanas secundarias, controlar Frames, formularios, capas, etc. Cmo es posible la multiplataforma en Java Java es compatible con todos los sistemas porque basa su funcionamiento en los Byte Codes, que no es ms que una precompilacin del cdigo fuente de Java. Estos Byte Codes no son el programa en Java propiamente dicho, sino un archivo que contiene un cdigo intermedio que puede manejar la Mquina Virtual de Java. Cada

sistema operativo dispone de una Maquina Virtual de Java que puede interpretar los Byte Codes y transformarlos a sentencias ejecutables en el sistema en cuestin. Ejemplos de Applets de Java En la web podemos encontrar muchos ejemplos de applets de Java muy tiles y complejos. Nosotros aqu vamos a mostrar un par de ejemplos que no tienen demasiada importancia, pero que pueden aclarar un poco ms de qu se tratan estos applets.

You might also like