Comunicar dos applets

2208 vistas

Declarados en el mismo frame HTML:
El applet tiene que declararse en el HTML de la siguiente manera:



html4strict
  1. <applet code=.... name="tagname"></applet>



Ahora bastará con recueprar un applet a partir de otro asÃ:



java
  1. CType autre_applet = (CType)(getAppletContext().getApplet("tagname");



Declarados en frames HTML diferentes:
Como los navegadores suelen usar una sola JVM, el espacio de memoria es compartido. Un truco es crear una clase que sólo contenga miembros estáticos y permita registrar y recuperar applets. Estos miembros estáticos serán únicos en memoria y compartidos entre los applets.

Ejemplo de estructura:



java
  1. class AppletDataBase {
  2.         /** estructura de datos que permite gragar datos */
  3.         static Hashtable data;
  4.         /** método que permite recuperar un applet por su tag */
  5.         public static Applet getApplet(String tag);
  6.         /** método que se encarga de registrar un applet marcado por un tag */
  7.         public static void addApplet(Applet applet, String tag);
  8. }



En los applets podemos hacer el equivalente de lo que hace un AppletContext:



java
  1. Applet otro_applet = AppletDataBase.getApplet("tagname");