アプレットが同じページの別のアプレットにメッセージを送信する方法

アプレットが同じページ上の別のアプレットにメッセージを送信する方法

このチュートリアルでは、アプレットが同じページにある別のアプレットと通信する/メッセージを送信する/データにアクセスする方法を学習します。

デモ用の2つのアプレットファイルを次に示します。

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