在本教程中,您将学习如何在同一页面上与另一个Applet进行通讯/发送消息/访问数据。
这是两个用于演示的Applet文件。
1. AppletExample1 –包含一个按钮,单击后将更改AppletExample2的名称。
2. AppletExample2 –包含一个“ TextArea”,显示其名称。
通过getAppletContext()。getApplet(“ Applet名称”)进行通信 ,它将按名称返回Applet。
PS Applet名称是在HTML页面中指定的,而不是您Applet的类名称。
1. AppletExample1.java
package com.mkyong.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.mkyong.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
可以通过“ HtmlApplet2” Applet的名称检索“ AppletExample2” – getAppletContext()。getApplet(“ HtmlApplet2”);
4.输出
标签: 小程序
翻译自: https://mkyong.com/applet/how-to-an-applet-send-message-to-another-applet-on-the-same-page/