(原谅标题中的术语......也很想说“applet中的两个小程序”!)。好消息是我已经成功地做到了,但我不完全确定其含义是什么,特别是在性能或波动性方面。
代码:
public class HelloWorld extends Applet implements AppletStub {
public void init() {
JLabel lbl = new JLabel("Hello World!");
add(lbl);
try {
Class applet2 = Class.forName("HelloWorld2");
Applet nextApplet = (Applet)applet2.newInstance();
nextApplet.setStub(this);
setLayout(new GridLayout(1,0));
setSize(0,0); //"hides" first applet
add(nextApplet);
nextApplet.init();
nextApplet.start();
}
catch (Exception e) {
}
}
...
现在我不确定以上是最好的解决方法,实际上我会在更合适的时间调用setSize(0,0),但(终极)目的基本上是显示加载屏幕(applet1 - 连接到服务器,移动本地文件等),然后在加载完成后显示主程序(applet2)。
为什么不将它构建到单个applet中?不幸的是,我对现有的代码已经是一个小程序,但是使用我自己的加载程序小程序来抢占这个东西似乎要容易得多,它将在完成后执行主小程序。
执行此操作是否存在任何可能的性能问题(例如2次重新绘制),即使主程序接管后初始applet在后台无所事事?我假设我不能销毁它(?),但是一旦它的实用性结束,我能否将其资源消耗减少到最少?感谢