アプレットが同じページの別のアプレットにメッセージを送信する方法
このチュートリアルでは、アプレットが同じページの別のアプレットとの間でメッセージの送受信/データの送受信を行う方法を学習します。
デモンストレーションのための2つのアプレットファイルがあります.
{空} 1。 AppletExample1 – ボタンが含まれています。クリックするとAppletExample2の名前が変更されます。 2. AppletExample2 – “TextArea”を含み、その名前を表示します。
通信は
getAppletContext()。getApplet( “Applet Name”)
を介して行われ、アプレットを名前で返します。
__P.Sアプレット名はHTMLページで指定されていますが、アプレットのクラス名ではありません。
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
“AppletExample2″は、 “HtmlApplet2″アプレットの名前 –
getAppletContext()。getApplet( “HtmlApplet2″);
で取得できます。
