|
public class AppletB
{
public static AppletB selfRef = null;
public void init()
{
// 保存当前实例的引用
selfRef = this;
}
...
}
|
|
public class AppletA
{
AppletB theOtherApplet = null;
public void callAppletB()
{
// 获得静态域的值,这个静态域保存了AppletB实例的引用
theOtherApplet = AppletB.selfRef;
// 接下来就可以调用AppletB实例 的方法,例如:
theOtherApplet.repaint();
}
...
}
|
|
public class AppletA
{
public void start()
{
AppletList.register("Stock-trade-applet", this);
...
}
}
|
|
public class AppletB
{
public void run()
{
AppletA tradeApplet =
(AppletA) AppletList.getApplet("Stock-trade-applet");
...
}
}
|
|
public void stop()
{
AppletList.remove("Stock-trade-applet");
...
}
|
|
import java.util.*;
import java.applet.Applet;
public class AppletList
{
private static Hashtable applets = new Hashtable();
public static void register(String name, Applet applet)
{
applets.put(name,applet);
}
public static void remove(String name)
{
applets.remove(name);
}
public static Applet getApplet(String name)
{
return (Applet) applets.get(name);
}
public static Enumeration getApplets()
{
return applets.elements();
}
public static int size()
{
return applets.size();
}
}
|
|
Enumeration appletList = AppletList.getApplets();
while(appletList.hasMoreElements())
{
OrderApplet tradeApplet = (OrderApplet)appletList.nextElement();
…… // 控制逻辑
}
|
356



被折叠的 条评论
为什么被折叠?



