|
Have an applet launch another applet |
|
|
This mechanism can be used load first a small Applet with a quick loading time, display a message to the user and then load a larger Applet. The example below shows how to do this:
[HTML (testQuick.html)
<HTML><HEAD></HEAD><BODY>
<APPLET CODE="QLoader.class"
NAME="QLoader"
HEIGHT=200
WIDTH=200>
<PARAM NAME="appletToLoad" VALUE="SecondApplet">
<PARAM NAME="SecondAppletParm" VALUE="Hello World">
</APPLET></BODY></HTML>
[JAVA source (QLoader.java)]
import java.applet.Applet;
import java.applet.AppletStub;
import java.awt.*;
public class QLoader extends Applet
implements Runnable, AppletStub {
String appletToLoad;
Thread appletThread;
public void init() {
appletToLoad = getParameter("appletToLoad");
setBackground(Color.white);
}
public void paint(Graphics g) {
g.drawString("Loading the BIG ONE ...", 30, 30);
}
public void run() {
try {
Class appletClass = Class.forName(appletToLoad);
Applet realApplet = (Applet)appletClass.newInstance();
realApplet.setStub(this);
setLayout( new GridLayout(1,0));
add(realApplet);
realApplet.init();
realApplet.start();
}
catch (Exception e) {
System.out.println( e );
}
validate();
}
public void start(){
appletThread = new Thread(this);
appletThread.start();
}
public void stop() {
appletThread.stop();
appletThread = null;
}
public void appletResize( int width, int height ){
resize( width, height );
}
}
[SecondApplet.java for demonstration]
import java.awt.*;
public class SecondApplet extends java.applet.Applet {
TextField tf;
public void init() {
System.out.println("Starting Second applet");
String s;
tf = new TextField( 10 );
add( tf );
s = getParameter("SecondAppletParm");
tf.setText(s);
}
}
|
Related Tips
|
Page 1 of 0 ( 0 comments )
You can share your information about this topic using the form below!
Please do not post your questions with this form! Thanks.