|
Buscador
Secciones
Registro
¡Colabora!
Ganamos
Servicios
|
Pulsa sobre la imagen del applet para ver el ejemplo de búsqueda por nonbre en acción:
El primero, el emisor, busca al segundo, el receptor. Cuando el emisor encuentra al receptor, le envía un mensaje llamando a uno de sus métodos (pasándo el nombre del emisor como argumento) El receptor reacciona a esta llamada a método cambiando el string más la izquierda a "Received message from sender-name!".
Aquí está el programa completo del Sender. El código usado para buscar y comunicarse con el Receiver se lista abajo. El código que podemos usar sin modificar en nuestros propios applets está en negrita. Applet receiver = null; String receiverName = nameField.getText(); //Get name to search for. receiver = getAppletContext().getApplet(receiverName); El Sender se asegura de que ha encontrado un Receiver y que es un ejemplar de la clase correcta (Receiver). Si todo va bien, el Sender envía un mensaje al Receiver. (Aquí está el Programa Receiver.)
if (receiver != null) {
//Use the instanceof operator to make sure the applet
//we found is a Receiver object.
if (!(receiver instanceof Receiver)) {
status.appendText("Found applet named "
+ receiverName + ", "
+ "but it's not a Receiver object.\n");
} else {
status.appendText("Found applet named "
+ receiverName + ".\n"
+ " Sending message to it.\n");
//Cast the receiver to be a Receiver object
//(instead of just an Applet object) so that the
//compiler will let us call a Receiver method.
((Receiver)receiver).processRequestFrom(myName);
}
} . . .
Desde el punto de vista de un applet, su nombre se almacena en un parámetro llamado NAME. Puede obtener el valor del parámetro usando el método Applet getParameter. Por ejemplo, Sender obtiene su propio nombre con el siguiente código:
myName = getParameter("NAME");
Para más información sobre como usar getParameter, puedes ver la página Escribir Código para Soportar Parámetros. Los applets de esta página realizan comunicación en un sentido -- desde el emisor al receptor. Si queremos que el receptor pueda enviar mensajes al emisor, sólo tenemos que hacer que el emisor le de una referencia de sí mismo (this) al receptor. Por ejemplo: ((Receiver)receiver).startCommunicating(this);
|
|
Nota:
Como algunos viejos navegadores no soportan 1.1, los applets de lejemplo son versiones 1.0. Aquí está el enlace al código 1.0 para la clase GetApplets y el código de la versión 1.1. Para ejecutar las versiones 1.1 de los applets puedes ir a la página example-1dot1/iac2.html. |
Abajo tenemos las partes importantes del método que llama a getApplets. (Aquí está el programa completo.)
public void printApplets() {
//Enumeration will contain all applets on this page (including
//this one) that we can send messages to.
Enumeration e = getAppletContext().getApplets();
. . .
while (e.hasMoreElements()) {
Applet applet = (Applet)e.nextElement();
String info = ((Applet)applet).getAppletInfo();
if (info != null) {
textArea.appendText("- " + info + "\n");
} else {
textArea.appendText("- "
+ applet.getClass().getName()
+ "\n");
}
}
. . .
}
| Leer comentarios (134) | |
| Escribir comentario | |
| Puntuación: |
|
| Votar | |
| Recomendar este tutorial | |
| Estadísticas |
Copyright © 1999-2006
Programación en castellano.
Todos los derechos reservados.
Formulario de Contacto -
Datos legales -
Publicidad
Hospedaje web y servidores dedicados linux por
Ferca Network