🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #28649

Re: Comunicaci�n entre applets

#28649
From: Rafa
Date: Fri, 03 Apr 1998 00:00
106 lines
4341 bytes
Raquel escribi� en mensaje <01bd5e33$bd92f5f0$0701a8c0@qleap3>...
>Hola,
>
>estoy intentando comunicar dos applets de una misma p�gina web. �C�mo se
>hace?
>Me interesar�a que un applet pudiera enviarle texto a otro y viceversa...
>Me consta que se puede, �pero c�mo? Y...
>�hay alguna limitaci�n en el tama�o del texto?
>
>Gracias,
>
> Raquel

Que tal Raquel, aqui te env�o un peque�o ejemplo de como hacer que dos
applets se puedan comunicar en un mismo documento.

Una vez que tienes varias applets dentro de un mismo documento y lo que te
interesa es poder comunicarlas, e incluso poder ejecutar m�todos de una
applet desde otra.
Para ello en primer lugar es necesario dar un nombre a cada applet. Esto se
consigue a�adiendo el atributo NAME a la etiqueta <APPLET> , de la siguiente
manera:

 <APPLET CODE=Codigo_applet NAME=Nombre_applet >

Una vez que se han asignado nombres a cada una de las applets, si se desea
invocar desde una de ellas alg�n m�todo de otra se debe incluir una llamada
al m�todo getApplet(...). Por ejemplo si se dispone de dos applets que se
han definido de la siguiente forma:

<APPLET CODE=applet1.class NAME=numero1 >
<APPLET CODE=applet2.class NAME=numero2 >

Para hacer referencia al m�todo borrar() definido en applet1.class desde el
c�digo de applet2.class se utiliza la siguiente estructura:
Applet ap1=getAppletContext().getApplet("numero1");
ap1.borrar();

El ejemplo que te muestro, realizar una p�gina en la que aparecer�n dos
applets, en la primera de ellas aparecer� un bot�n tal que al presionarlo
aparezca un mensaje de saludo en la segunda.  En la soluci�n que te adjunto
se ha simplificado al m�ximo el dise�o de la p�gina en la que aparecen las
applets para centrar la atenci�n en el c�digo de comunicaci�n entre applets.

A continuaci�n te env�o los listados de las dos applets, denominadas
ventana.java y boton,java.

import java.awt.*;
public class Ventana extends java.applet.Applet {
        String mensaje;
        public void saludo(String msg) {
         mensaje=new String(msg);
  repaint();
        }
        public void paint(Graphics g) {
                Font fnt;
                fnt = new Font("TimesRoman",Font.BOLD,28);
                g.setFont(fnt);
                if(mensaje!=null)
                {
                        g.drawString(mensaje,10,30);
                }
        }
}


import java.awt.*;
import java.awt.Event;
import java.applet.Applet;

// Define la clase de la otra applet con la que se desea
// comunicar, as� como sus m�todos
// 'abstract' indica que se encuentra implementada en otra parte
abstract class Ventana extends java.applet.Applet {
 abstract void saludo(String msg);
}

public class Boton extends java.applet.Applet {
        public void init() {
                add(new Button("P�lsame para que te Salude"));
        }

 public boolean action (Event evt, Object obj) {
                if (evt.target instanceof Button) {
                   Applet vent_app=getAppletContext().getApplet("ventana");
                   ((Ventana)vent_app).saludo("Hola amigos");
                   return(true);
                }
         return(false);
        }
}

Espero que te sirva.
Un saludo...
__________________________________________________________________________
 Rafael J. Navajo Garrido                    Tel.: (+34 1) 336.7411
 CETTICO                                                     (+34 1)
352.2546
 Facultad de Inform�tica
 Campus de Montegancedo
 28660 - Boadilla del Monte                  Fax:  (+34 1) 336.7412
 Madrid
 Spain                                                 email:
rnavajo@fi.upm.es
__________________________________________________________________________
Technical Details
Message-ID: <6g30sh$u2$2@panoramix.fi.upm.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <01bd5e33$bd92f5f0$0701a8c0@qleap3>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: 1116f3,34887fc4c4d0ea24
X-Google-Attributes: gid1116f3,public
From: "Rafa" <rnavajo@fi.upm.es>
Subject: Re: Comunicaci�n entre applets
Date: 1998/04/03
Message-ID: <6g30sh$u2$2@panoramix.fi.upm.es>
X-Deja-AN: 340559518
References: <01bd5e33$bd92f5f0$0701a8c0@qleap3>
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4
Organization: Facultad de Informatica de Madrid - U.P.M.
Newsgroups: es.comp.lenguajes.java