Wie kann ein Applet eine Nachricht an ein anderes Applet auf derselben Seite senden?

So senden Sie eine Nachricht an ein anderes Applet auf derselben Seite

In diesem Tutorial erfahren Sie, wie ein Applet auf derselben Seite Nachrichten von einem anderen Applet überträgt, sendet oder auf Daten zugreift.

Hier sind zwei Applet-Dateien zur Demonstration.

1. AppletExample1 - Enthält eine Schaltfläche, die den Namen von AppletExample2 nach dem Klicken ändert.
2. AppletExample2 - Enthält ein "TextArea" und zeigt dessen Namen an.

Die Kommunikation erfolgt übergetAppletContext().getApplet(“Applet Name”), wodurch das Applet namentlich zurückgegeben wird.

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

Das "AppletExample2" kann über den Namen des "HtmlApplet2" -Applets abgerufen werden -getAppletContext().getApplet(“HtmlApplet2”);

4. Ausgabe

applet-send-message-to-applet