Comment une applet envoie un message à une autre applet sur la même page

Comment une applet envoie un message à une autre applet sur la même page

Dans ce didacticiel, vous apprendrez comment une applet peut communiquer / envoyer un message / accéder aux données de / vers une autre applet sur la même page.

Voici deux fichiers d'applet pour démonstration.

1. AppletExample1 - Contient un bouton, changera le nom de AppletExample2 après avoir cliqué.
2. AppletExample2 - Contient un "TextArea", affichez son nom.

La communication se fait via lesgetAppletContext().getApplet(“Applet Name”), qui renverra l'applet par son nom.

P.S The Applet name is specified in HTML page, NOT your Applet’s class name.

1. AppletExample1.java

package com.example.applet;

import java.applet.Applet;
import java.awt.Button;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class AppletExample1 extends Applet implements ActionListener {

    Button button;

    public void init(){
        button = new Button("Change AppletExample2's name");
        button.setActionCommand("CHANGEME");
        button.addActionListener(this);
        add(button);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getActionCommand().equals("CHANGEME")){
            AppletExample2 appExample2 = (AppletExample2)getAppletContext().getApplet("HtmlApplet2");
            appExample2.setName("Your name changed by Applet1");
        }
    }

}

2. AppletExample2.java

package com.example.applet;

import java.applet.Applet;
import java.awt.FlowLayout;
import java.awt.TextArea;

public class AppletExample2 extends Applet{

    String name;
    TextArea textBox;

    public void init(){
        name = "no name";
        setLayout(new FlowLayout());
        textBox = new TextArea(5,40);
        add(textBox);
    }

    public void setName(String name){
         this.name = name;
         textBox.append(this.name);
    }
}

3. HTML

Testing 1234


AppletExample1



AppletExample2

"AppletExample2" peut être récupéré par le nom de l'applet "HtmlApplet2" -getAppletContext().getApplet(“HtmlApplet2”);

4. Sortie

applet-send-message-to-applet