请检查以下代码示例:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class pp extends Applet implements ActionListener
{
TextField t;
Button b;
public void init()
{
setLayout(new FlowLayout());
t= new TextField(10 );
b = new Button("Send");
b.addActionListener(this);
add(t);
add(b);
}
public void actionPerformed(ActionEvent e)
{
String str=t.getText();
dc a2 =(dc)getAppletContext().getApplet("a2");
if ( a2 != null )
{
a2.append(str);
}
else
{
System.out.println("Applet not found?");
}
}
}
和第二个小程序代码:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/*<Applet code="dc" height=400 width=400></Applet>*/
public class dc extends Applet
{
TextArea t;
public void init()
{
setLayout(new FlowLayout());
t=new TextArea(5,40);
add(t);
}
public void append(String msg)
{
t.setText(msg);
}
}
这是HTML代码:
<HTML><HEAD></HEAD><BODY>
<APPLET CODE="pp.class"
HEIGHT=200 WIDTH=150>
</APPLET>
<APPLET CODE="dc.class"
HEIGHT=200 WIDTH=400>
</APPLET>
</BODY></HEAD>
不知道为什么它不起作用。该程序用于在同一页面中的两个小程序之间进行通信。谁能告诉我这里有什么问题?
答案 0 :(得分:1)
这与你正在做的非常相似。
答案 1 :(得分:1)
第一个applet:
import java.awt.*;
import java.applet.*;
public class ONE extends Applet
{
TextArea ta;
public void init()
{
ta=new TextArea(" ");
add(ta);
}
public void putText(String s)
{
ta.appendText(s+"\n");
}
}
第二小程序:
import java.io.*;
import java.applet.*;
import java.awt.event.*;
import java.awt.*;
public class TWO extends Applet implements ActionListener
{
TextField tf;
Applet r;
Button b;
public void init()
{
tf=new TextField(20);
add(tf);
b=new Button("SUMBIT");
add(b);
b.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{ r=null;
r= getAppletContext().getApplet("ONE");
if (r!=null)
{
if(e.getSource()==b)
{
ONE ma= (ONE) r;
ma.putText(tf.getText());
tf.setText("");
}
}
}
}
在执行的操作中使用上述代码。
HTML:
<html>
<body>
<applet code="TWO" width = 150 height=150 name=TWO>
</applet>
<br></br>
<br></br>
<br></br>
<applet code="ONE" width = 200 height=200 name=ONE>
</applet>
</body>
</html>
使用appletviewer运行它。