Как апплет отправить сообщение другому апплету на той же странице

Как апплет отправить сообщение другому апплету на той же странице

В этом руководстве вы узнаете, как апплет может передавать / отправлять сообщения / получать доступ к данным из / в другой апплет на той же странице.

Вот два файла апплета для демонстрации.

1. AppletExample1 - содержит кнопку, изменит имя AppletExample2 после нажатия.
2. AppletExample2 - содержит «TextArea», отображает его имя.

Связь осуществляется черезgetAppletContext().getApplet(“Applet Name”), который возвращает апплет по имени.

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" можно получить по имени апплета "HtmlApplet2" -getAppletContext().getApplet(“HtmlApplet2”);

4. Выход

applet-send-message-to-applet