Comunicación del applet con el browser

La comunicación entre el applet y el browser en el que se está ejecutando se puede controlar mediante la interface AppletContext (package java.applet). AppletContext es una interface implementada por el browser, cuyos métodos pueden ser utilizados por el applet para obtener información y realizar ciertas operaciones, como por ejemplo sacar mensajes breves en la barra de estado del browser.

Hay que tener en cuenta que la barra de estado es compartida por el browser y las applets, lo que tiene el peligro de que el mensaje sea rápidamente sobre-escrito por el browser u otras applets y que el usuario no llegue a enterarse del mensaje.

Los mensajes breves a la barra de estado se producen con el método showStatus(), como por ejemplo,

getAppletContext().showStatus(«Cargado desde el fichero » + filename);

Los mensajes más importantes se deben dirigir a la salida estándar o a la salida de errores, que en Netscape Navigator es la Java Console (la cual se hace visible desde el menú Options en Navigator 3.0, desde el menú Communicator en Navigator 4.0* y desde Communicator/Tools en Navigator 4.5). Estos mensajes se pueden enviar con las sentencias:

System.out.print();
System.out.println();
System.error.print();
System.error.println();

Para mostrar documentos HTML en una ventana del browser se pueden utilizar los métodos siguientes:

showDocument(URL miUrl, [String target]), que muestra un documento HTML en el frame del browser indicado por target (name, _top, _parent, _blank, _self).

showDocument(URL miUrl), que muestra un documento HTML en la ventana actual del browser.

Un applet puede conseguir información de otras applets que están corriendo en la misma página del browser, enviarles mensajes y ejecutar sus métodos. El mensaje se envía invocando los métodos del otro applet con los argumentos apropiados.

Algunos browsers exigen, para que las applets se puedan comunicar, que las applets provengan del mismo browser o incluso del mismo directorio (que tengan el mismo codebase).

Por ejemplo, para obtener información de otras applets se pueden utilizar los métodos:

getApplet(String name), que devuelve el applet llamada name (o null si no la encuentra). El nombre del applet se pone con el atributo opcional NAME o con el parámetro NAME.

getApplets(), que devuelve una enumeración con todas las applets de la página.

Para poder utilizar todos los métodos de un applet que se está ejecutando en la misma página HTML (y no sólo los métodos comunes heredados de Applet), debe hacerse un cast del objeto de la clase Applet que se obtiene como valor de retorno de getApplet() a la clase concreta del applet.

Para que pueda haber respuesta (es decir, comunicación en los dos sentidos), el primer applet que envía un mensaje debe enviar una referencia a sí misma por medio del argumento this.

Fuente: Aprenda Java como si estuviera en primero de la Universidad de Navarra