在某些情况下,您可能需要一个现有的Applet来启动另一个Applet来执行其他任务。
这是两个演示文件
1. AppletExample1.java
2. AppletExample2.java
“ AppletExample1.java”包含一个“线程”,并在5秒钟后启动“ AppletExample2.java”。
1. AppletExample1.java
package com.mkyong.applet;
import java.applet.Applet;
import java.applet.AppletStub;
import java.awt.Graphics;
import java.awt.GridLayout;
public class AppletExample1 extends Applet
implements Runnable, AppletStub {
Thread threadABC;
public void init(){}
public void paint(Graphics g) {
g.drawString("I'm Applet 1 ~", 10, 10);
g.drawString("Loading Applet 2 ...", 10, 30);
}
public void run() {
try {
//sleep for 5 seconds , for demo
threadABC.sleep(5000);
Class applet2 = Class.forName("com.mkyong.applet.AppletExample2");
Applet appletToLoad = (Applet)applet2.newInstance();
appletToLoad.setStub(this);
setLayout( new GridLayout(1,0));
add(appletToLoad);
appletToLoad.init();
appletToLoad.start();
}catch (Exception e) {
System.out.println(e);
}
validate();
}
public void start(){
threadABC = new Thread(this);
threadABC.start();
}
public void stop() {
threadABC.stop();
threadABC = null;
}
public void appletResize( int width, int height ){
resize( width, height );
}
}
2. AppletExample2.java
package com.mkyong.applet;
import java.applet.Applet;
import java.awt.Graphics;
public class AppletExample2 extends Applet{
public void init(){ }
public void paint(Graphics g) {
g.drawString("I'm Applet 2 ~", 10, 10);
}
}
3. HTML加载小程序
加载“ AppletExample1”没有什么不同,只需正常加载即可:
Testing
4.完成
您会注意到Applet将显示(AppletExample1)
"I'm Applet 1 ~"
"Loading Applet 2 ..."
5秒后,它将更改为(AppletExample2)
I'm Applet 2 ~"
Applet参数如何?
两个小程序将共享在小程序标签中指定的相同参数。
例如,
“ AppletExample1.java”和“ AppletExample2.java”都可以使用getParameter(“ paramUrl”)方法访问“ paramUrl”值。
标签: 小程序
翻译自: https://mkyong.com/applet/how-to-an-applet-launch-another-applet/